javascript - IE8 会报 for in 没有声明 var item 的错误?

标签 javascript internet-explorer-8 for-loop

喜欢:

var result = eval('(' + response + ')');
var html = value = '';

for(item in result)
{

}

response 是一个 json 响应。

在 IE8 中,它停在 for.. 处。

如何解决这个问题?

编辑

运行时出现同样的错误:

result = [1,2,3];
for(item in result)
{
...
}

最佳答案

我测试了 JavaScript For...In Statement 中的代码在 IE8 中没有问题。

绝对不是循环的问题(在 IE8 中不起作用),而是“结果”对象中的内容。

更新:

我发现了这个问题。

在 IE8 中(不确定其他 IE 版本),“item”这个词在某种程度上是一个保留词或其他东西。

这会起作用:

var item;
for(item in result)
{
...
}

这不会(如果 item 未声明):

for(item in result)
{
...
}

这会起作用:

for(_item in result)
{
...
}

关于javascript - IE8 会报 for in 没有声明 var item 的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1872177/

相关文章:

javascript - 具有不同 subview 的状态

internet-explorer-8 - VS2013RC需要IE10,但我需要(不需要)IE8

javascript - jQuery 删除或添加样式到特定类型元素的最后一个

java - 如何优化 Scala 中的 for-comprehensions 和循环?

javascript - 临时 promise 库

javascript - 如何在对象javascript中获取变量的值

javascript - Angular 在 IE 8 中不起作用,无法为我的指令创建自定义元素

html - ie8 在第一页加载或刷新时不呈现@font-face 字体

c++ - for循环中的数组加法

javascript - `this` 对象在使用promise时未定义