var arrRoot =
[
["title1",
["arr1", "item", "some"],
["arr2", "item", "some"],
],
["title2",
["arr1", "item", "some"],
["arr2", "item", "some"],
],
];访问 var s = "";
for (var i = 0; i < arrRoot.length; ++i)
{
s += "<dl>" + arrRoot[i][0] + "</dl>";
}问题:
1、IE 下提示 ‘arrRoot[...].0 为空或不是对象’
2、Chrome/Firefox 就正常是不是 IE 对 Javascript 的解析不标准?
[
["title1",
["arr1", "item", "some"],
["arr2", "item", "some"],
],
["title2",
["arr1", "item", "some"],
["arr2", "item", "some"],
],
];访问 var s = "";
for (var i = 0; i < arrRoot.length; ++i)
{
s += "<dl>" + arrRoot[i][0] + "</dl>";
}问题:
1、IE 下提示 ‘arrRoot[...].0 为空或不是对象’
2、Chrome/Firefox 就正常是不是 IE 对 Javascript 的解析不标准?
这些都是JS的核心数组语法,IE肯定支持的。
PC 下的 IE6,以及 WinCE5.0 下的 IE6,都是提示这个错误。但用 Chrome/Firefox 运行就正常。
["arr1", "item", "some"],
["arr2", "item", "some"],
],
]; 多了个逗号...
Chrome/FF等会容错掉,但是ie不会,所以会提示那个错误
就好比
[1,2,]
ie中length为3
ff中length为2
<script language='javascript'>
var arrRoot =
[
["title1",
["arr1", "item", "some"],
["arr2", "item", "some"],
],
["title2",
["arr1", "item", "some"],
["arr2", "item", "some"],
]
];
var s = "";
for (var i = 0; i < arrRoot.length; ++i)
{
alert(arrRoot[i][0]);
s += " <dl>" + arrRoot[i][0] + " </dl>";
}
</script>
试试~·
GOOD!试了一下去掉逗号,IE 下表现也正常了。那,还是算到 IE 的 Javascript 解析器“不够健壮”、“不够兼容”上去吧
["arr1", "item", "some"],
["arr2", "item", "some"],
],
]; 红色的都应该去掉吧