Javascript数组字符串

所以我在这里遇到了奇怪的问题.我有一个数组status = new Array().然后我从0迭代到N-1,并指定status [i] =“idle”;我试图做警报检查值,并将它们全部分配给角色昏迷,.谁知道什么是错的?

var status=new Array();
window.onload = function() {
    for(var i=0;i<5;i++) {
        status[i]="idle";
        alert(status[i]);
    }
}
最佳答案
使用不同的变量名称(或者更好的是,根本不使用全局变量).已经有一个window.status property了,显然有些事情不会让你用你自己的阴影(这让我感到惊讶;我想知道数组是否被赋予了一个字符串或者其他东西).在全局范围内,var在窗口对象上创建属性,这就是window.status相关的原因.

This example(source)复制了您的问题(对我来说,使用Chrome),而this example(source)只更改了名称,显示了正确的一系列警报.

请注意,这是特定于浏览器的.在Firefox上,即使您的旧代码也会向我显示正确的警报系列.例如,Firefox允许我们重新定义window.status,但Chrome不允许.

转载注明原文:Javascript数组字符串 - 代码日志