Javascript IE8将报告中的错误,但不声明var项?
比如:Javascript IE8将报告中的错误,但不声明var项?,javascript,internet-explorer-8,for-loop,Javascript,Internet Explorer 8,For Loop,比如: response是一个json响应 它在IE8中的..处停止 如何解决这个问题 编辑 我在运行时遇到了相同的错误: var result = eval('(' + response + ')'); var html = value = ''; for(item in result) { } 我测试了IE8中的代码,没有问题 绝对不是循环的问题(在IE8中不起作用),而是“result”对象中的内容 更新: 我发现了问题 在IE8(不确定其他IE版本)中,“item”一词在某种程度上
response
是一个json响应
它在IE8中的..处停止
如何解决这个问题
编辑
我在运行时遇到了相同的错误:
var result = eval('(' + response + ')');
var html = value = '';
for(item in result)
{
}
我测试了IE8中的代码,没有问题
绝对不是循环的问题(在IE8中不起作用),而是“result”对象中的内容
更新:
我发现了问题
在IE8(不确定其他IE版本)中,“item”一词在某种程度上是一个保留字或什么的
这将有助于:
result = [1,2,3];
for(item in result)
{
...
}
for(item in result)
{
...
}
这将不会(如果未声明项目
):
这将有助于:
result = [1,2,3];
for(item in result)
{
...
}
for(item in result)
{
...
}
我测试了IE8中的代码,没有问题
绝对不是循环的问题(在IE8中不起作用),而是“result”对象中的内容
更新:
我发现了问题
在IE8(不确定其他IE版本)中,“item”一词在某种程度上是一个保留字或什么的
这将有助于:
result = [1,2,3];
for(item in result)
{
...
}
for(item in result)
{
...
}
这将不会(如果未声明项目
):
这将有助于:
result = [1,2,3];
for(item in result)
{
...
}
for(item in result)
{
...
}
您应该使用
var
显式声明item
。在中使用“for..in”的标准惯用法如下,并且只能用于对象(而不是数组)上的迭代:
您应该使用var
显式声明item
。在
中使用“for..in”的标准惯用法如下,并且只能用于对象(而不是数组)上的迭代:
没听说过,你想用的代码是什么?详细说明你期望它做什么,以及它在做什么。我认为(结果)是不可评估的?因此,它可能为null或未定义。我尝试了typeof result
,这是刚刚检查的“object”,但您正在通过result[item]访问结果项,对吗?另外,您确定响应是有效的JSON吗?从未听说过,您尝试使用的代码是什么?详细说明您期望它做什么,以及它正在做什么。我认为(结果)是不可评估的?因此,它可能为null或未定义。我尝试了typeof result
,这是刚刚检查的“object”,但您正在通过result[item]访问结果项,对吗?另外,您确定响应是有效的JSON吗?事实证明,这是因为缺少以下语句:var item代码>。你遇到过这个问题吗?请在我的更新帖子中查看我的发现。”“项目”确实是罪魁祸首。如果你没有在评论中突出显示“var项目”,我也永远不会发现:)事实证明,这是因为缺少以下语句:var项目代码>。你遇到过这个问题吗?请在我的更新帖子中查看我的发现。”“项目”确实是罪魁祸首。如果您不在评论中突出显示“var项目”,我也永远不会发现:)