我创建了两个函数, GOODself 和 BADself ,连续调用我在一个更大的脚本illustrated here中调试问题。我无法弄清楚为什么 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 = [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
答案 0 :(得分:2)
JavaScript具有案例敏感性。您已定义var aryVarABi = [1,1,1,1];
。注意资本B.你是指aryVarAbi[0] = 5;
。注意小写字母b。
答案 1 :(得分:1)
我认为您需要aryVarABi[0] = 5;
而不是aryVarAbi[0] = 5;
后者的'b'是小写的。
答案 2 :(得分:1)
Javascript变量区分大小写,因此 aryVarABi 是与 aryVarAbi 不同的变量。
请将行aryVarAbi[0] = 5;
更改为aryVarABi[0] = 5;
。