简单的Javascript数组初始化无法在Chrome中运行

tin*_*err 7 javascript arrays google-chrome

我想做一些非常简单的事 - 在Javascript中初始化一个数组.它不适用于谷歌浏览器.这是代码:

status = [];
for(i=0; i < 8; i++)
  status[i]=false;

alert(status.length); //It says 0 when it should say 8
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?

CMS*_*CMS 11

status变量的赋值,与window.status属性的冲突.

Chrome只是拒绝进行分配.

window.status属性,在浏览器底部的状态栏中设置或获取文本.

我会建议你要么,重命名变量或使用匿名函数来创建一个新的范围,还要记得经常使用var声明变量:

(function () {
  var status = [];

  for (var i = 0; i < 8; i++)
    status[i] = false;

  alert(status.length);
})();
Run Code Online (Sandbox Code Playgroud)


Chu*_*bas 6

更改变量名称.看起来状态是窗口的属性,Chrome使其无法更改.我也没想到.


epa*_*llo 6

这里的问题status是附加到什么。您在全局/窗口范围之外使用它。

回到过去,我们能够在状态栏中设置文本。你会怎么做是通过将window.status设置为字符串值。所以您所做的不是设置变量,而是更改浏览器状态栏的字符串。