var result = eval('(' + response + ')');
var html = value = '';
for(item in result)
{
}
response
是JSON響應。
它停在IE8的for..
。
如何解決這個問題?
result = [1,2,3];
for(item in result)
{
...
}
var result = eval('(' + response + ')');
var html = value = '';
for(item in result)
{
}
response
是JSON響應。
它停在IE8的for..
。
如何解決這個問題?
result = [1,2,3];
for(item in result)
{
...
}
我在IE8,沒有問題測試的代碼JavaScript For...In Statement:
編輯
我跑的時候得到了同樣的錯誤。
肯定不是循環的問題(不在IE8中工作),但'結果'對象中有什麼。
UPDATE:
我發現這個問題。
在IE8(不知道其他IE版本)單詞「項目」莫名其妙地是一個保留字或什麼。
這將工作:
var item;
for(item in result)
{
...
}
這不會(如果item
沒有聲明):
for(item in result)
{
...
}
這將工作:
for(_item in result)
{
...
}
事實證明,這是因爲缺乏這種說法:var item; 「你遇到過這個? – user198729 2009-12-09 07:57:51
在我的更新文章中查看我的發現。 '物品'確實是罪魁禍首。 – 2009-12-09 08:51:24
我永遠不會發現自己的真相... – user198729 2009-12-09 09:37:30
你應該明確聲明item
var
。使用for..in
標準成語是如下,應僅在對象(非數組)用於迭代:
for (var item in result) {
if (!result.hasOwnProperty(item)) {
// loop body goes here
}
}
從來沒有聽說過,什麼是你想使用的代碼? – yoda 2009-12-09 07:27:19
詳細說明你期望它做什麼,以及它在做什麼。 – 2009-12-09 07:28:52
我認爲(結果)不可評估?所以它可能爲空或未定義 – 2009-12-09 07:31:27