我正在尝试做一些非常简单的事情 - 在 Javascript 中初始化一个数组。它在谷歌浏览器中不起作用。这是代码:
status = [];
for(i=0; i < 8; i++)
status[i]=false;
alert(status.length); //It says 0 when it should say 8
是什么赋予了?
我正在尝试做一些非常简单的事情 - 在 Javascript 中初始化一个数组。它在谷歌浏览器中不起作用。这是代码:
status = [];
for(i=0; i < 8; i++)
status[i]=false;
alert(status.length); //It says 0 when it should say 8
是什么赋予了?
status
变量的分配与window.status
属性发生冲突。
Chrome 只是拒绝进行分配。
该window.status
属性设置或获取在浏览器底部的状态栏中的文本。
我会建议你要么,重命名变量或使用匿名函数来创建一个新的范围,还要记得经常使用var
声明变量:
(function () {
var status = [];
for (var i = 0; i < 8; i++)
status[i] = false;
alert(status.length);
})();
更改变量名称。似乎 status是 window 的一个属性,Chrome 使它不可变。我也没想到。
这里的问题status
是附加到什么。您在全局/窗口范围之外使用它。
回到过去,我们能够在状态栏中设置文本。你会怎么做是通过将window.status设置为字符串值。所以您所做的不是设置变量,而是更改浏览器状态栏的字符串。