Javascript forloop中的var j未定义,但上一个循环中的i已定义
我有下面的函数返回一个错误 j没有定义 我不确定这是为什么,因为我在我的第一个for循环中没有返回未定义。如果我把第二个forloop改为for(var j=0…),那么它就行了。有人愿意解释一下为什么会这样吗Javascript forloop中的var j未定义,但上一个循环中的i已定义,javascript,Javascript,我有下面的函数返回一个错误 j没有定义 我不确定这是为什么,因为我在我的第一个for循环中没有返回未定义。如果我把第二个forloop改为for(var j=0…),那么它就行了。有人愿意解释一下为什么会这样吗 ;(function (window, document, undefined) { 'use strict'; var DOMState = document.readyState; if (DOMState === 'interactive' || DOMState ===
;(function (window, document, undefined) {
'use strict';
var DOMState = document.readyState;
if (DOMState === 'interactive' || DOMState === 'complete') {
setTimeout(init, 250);
} else if (document.addEventListener) {
document.addEventListener('DOMContentLoaded', init);
}
function init() {
var links = $('#list_of_recs a');
for (i=0;i<links.length;i++) {
var href = links[i].href;
var campaignCode1 = "?intcam=ON_D_homepage_recently_viewed";
var newHref = href + campaignCode1;
links[i].href = newHref;
}
var recTotalDevices = $('#list_of_recs .one_image');
for (j=0;j<recTotalDevices.length;j++) {
var aLinks = $('#list_of_recs a')[j];
var link = aLinks.href;
var newLink = link.replace("upg-","");
var newLinknew = newLink.replace("additional-line","");
aLinks.href = newLinknew;
}
}
})(window, document);
;(函数(窗口、文档、未定义){
"严格使用",;
var DOMState=document.readyState;
if(DOMState=='interactive'| | DOMState==='complete'){
setTimeout(初始化,250);
}else if(文件.增补列表器){
document.addEventListener('DOMContentLoaded',init);
}
函数init(){
变量链接=$(“#记录列表a”);
对于(i=0;iJavaScript严格模式禁止使用未声明的变量。您未声明j
,因此会出现错误
至于为什么i
没有出现错误,这很可能是因为页面中的其他一些代码声明了一个全局i
变量
您应该同时声明这两个变量。JavaScript严格模式禁止使用未声明的变量。您没有声明j
,因此您会出现错误
至于为什么i
没有出现错误,这很可能是因为页面中的其他一些代码声明了一个全局i
变量
您应该同时声明这两个脚本。如果没有在您的页面上运行的任何其他脚本的完整上下文,则很难确定,但很可能在您的页面上有另一个脚本,其中包含对i=0的全局范围分配,因为这是一种常见约定
我建议你找个地方
var i=0,j=0;
在函数开始时,确保在循环中引用本地化变量。这比将变量放在for()的顶部更好循环如果没有在页面上运行的任何其他脚本的完整上下文,则很难确定,但很可能页面上还有另一个脚本包含对i=0的全局范围分配,因为这是一种常见约定
我建议你找个地方
var i=0,j=0;
在函数开始时,确保在循环中引用本地化变量。这比将变量放在for()的顶部更好循环因为严格模式?你不能分配给未声明的变量。我猜你会有一些你不知道的窗口。我
。你应该为i
变量加上var
。你只是好奇而已。你从哪本书获得这种编程风格,它是哪一年写的?它是为一个学习javascriptBecause strict mode?你不能分配给未声明的变量。我猜你有一些你不知道的窗口。我
。你也应该为i
变量添加一个var
,只是好奇而已。你从哪本书获得这种编程风格,它是哪一年写的?这是为了一个世界kmate谁在学习javascript