这似乎是从最新的 Chrome 更新开始的,我正在尝试查找有关它的信息但没有成功。考虑以下代码:
var lines = ['asdf','qwer',''];
for (var i in lines) console.log(i, lines[i]);
如果我在 Firefox“Firebug”控制台中运行它,我的输出,如预期的那样,是这样的:
0 asdf
1 qwer
2 (an empty string)
但是,当我在 Chrome 控制台中运行它时,我得到了这个:
0 asdf
1 qwer
2
remove function ( from, to )
{
var rest = this.slice((to || from) + 1 || this.length);
this.length = from < 0 ? this.length + from : from;
return this.push.apply(this, rest);
}
我注意到定期出现额外的“删除”项目。问题是它破坏了我下载使用的几个 jQuery 插件,它们的代码如下:
for (var i in lines) {
line = lines[i].split("=");
...
由于额外的元素是一个函数,而不是一个字符串,它没有这个split()
函数,所以我的代码在它的轨道上停止并出现错误。我不想通过我的所有代码手动从数组中删除元素,那么是否有某种我可以设置的标志或我可以在执行之前运行的命令以防止添加额外的元素?