无法填充名为“status”的数组

IT技术 javascript
2021-02-13 03:40:09

我正在尝试做一些非常简单的事情 - 在 Javascript 中初始化一个数组。它在谷歌浏览器中不起作用。这是代码:

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

alert(status.length); //It says 0 when it should say 8

是什么赋予了?

3个回答

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设置为字符串值。所以您所做的不是设置变量,而是更改浏览器状态栏的字符串。

我们都做了...我已将变量更改为 status_ready,现在按预期工作。
2021-03-15 03:40:09
...我完全忘记了window.status伙计,我很高兴它不再起作用了,人们曾经滥用它!这很可能就是这里发生的事情。
2021-04-03 03:40:09