Javascript 字符串数组

标签 javascript arrays string

所以我在这里遇到了奇怪的问题。我有一个数组 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已经,显然有些东西不允许你用自己的影子(这让我有点惊讶;我想知道数组是否被强制转换为赋值字符串或其他东西)。在全局范围内,varwindow 对象上创建属性,这就是 window.status 相关的原因。

This example ( source ) 复制了你的问题(对我来说,使用 Chrome)和 this example ( source ) 仅更改名称显示正确的警报系列。

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

关于Javascript 字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10548766/

相关文章:

python - 使用正则表达式从行迭代中获取信息并将数据存储在嵌套字典中

php - 使用 php 遍历不同的 DOM 节点和元素

ruby-on-rails - 如何使用 Ruby on Rails 优化 'string.split("&").sort.join("&")'?

javascript - 登录后如何更改按钮标签

javascript - 在 API 调用 NgRx Angular 之前检查商店

c++ - 查找数字数组中出现的特定数字的数量 (C++)

java - 如何从Java中的并行数组中删除重复项?

javascript - Node.js:当我的所有工作线程都完成时如何执行某些操作?

javascript - Timeline Lite - 如何同时补间多个对象

javascript - 订阅时Angular 2更改数组值