Javascript 两个相同的功能一个工作一个不工作
我创建了两个函数,GOODself和BADself,相继调用,以调试我在更大脚本中遇到的问题。我不明白为什么BADself在Javascript 两个相同的功能一个工作一个不工作,javascript,arrays,function,Javascript,Arrays,Function,我创建了两个函数,GOODself和BADself,相继调用,以调试我在更大脚本中遇到的问题。我不明白为什么BADself在aryVarAbi[0]=5行暂停 如果我先叫它,它仍然会发生。根据Firefox中的控制台,aryVarAbi未定义 GAB = GOODself(0, 4, 1); GAB = BADself(0, 4, 1); function GOODself(GABin, nCols, nRows) { var aCol = 0; var aryVarABi =
aryVarAbi[0]=5行暂停代码>
如果我先叫它,它仍然会发生。根据Firefox中的控制台,aryVarAbi未定义
GAB = GOODself(0, 4, 1);
GAB = BADself(0, 4, 1);
function GOODself(GABin, nCols, nRows) {
var aCol = 0;
var aryVarABi = [1,1,1,1];
for (aCol=0; aCol < nCols - 1; aCol++) {
alert("GOOD1 " + aryVarABi[aCol]);
aryVarABi[0]= 5;
alert("GOOD2 " + aryVarABi[aCol]);
} // for aCol
return (aryVarABi[0]);
} // GOODself
function BADself(GABin, nCols, nRows) {
var aCol = 0;
var aryVarABi = [1,1,1,1];
for (aCol=0; aCol < nCols - 1; aCol++) {
alert("BAD1 " + aryVarABi[aCol]);
aryVarAbi[0] = 5;
alert("BAD2 " + aryVarABi[aCol]);
} // for aCol
return (aryVarABi[0]);
} // BADself
GAB=GOODself(0,4,1);
GAB=BADself(0,4,1);
函数GOODself(GABin、nCols、nRows){
var-aCol=0;
var aryVarABi=[1,1,1,1];
对于(aCol=0;aCol
JavaScript区分大小写。您已经定义了var aryVarABi=[1,1,1,1]代码>。注意大写字母B。您指的是aryVarAbi[0]=5代码>。注意小写的b.我想你想要aryVarABi[0]=5
与aryVarAbi[0]=5相对代码>
后者中的“b”是小写的。Javascript变量区分大小写,因此aryVarABi与aryVarABi是不同的变量
请更改行aryVarAbi[0]=5
toaryVarABi[0]=5代码>你必须小心大写aryVarABi
看起来需要定义,但aryVarABi
没有定义。您所说的“暂停”是什么意思?您会收到错误消息吗。请尝试调试器。调试器应指向问题所在。在第一次警报之后,查看您的坏函数中的aryVarAbi
。这不是雅瓦拉比。请为变量使用简洁的名称,因为这种命名可能会导致问题。。。就像你得到的。嗨,科林,如果你在谷歌Chrome浏览器中使用类似开发者工具的东西,这很容易发现。当您将上述代码粘贴到控制台时,它会给出答案甚至行号,请参阅:Uncaught ReferenceError:aryVarAbi未在BADself中定义(:20:5)为什么您有同一函数的两个副本?您应该只编写一次函数,然后在需要时调用它。然后你就可以避免这样的问题。