我有一个包含各种类型(布尔值、数组、null、...)的大数组,我正在尝试访问它们的属性arr[i].length
,但其中一些显然没有长度。
我不介意那些缺少长度的人是否返回undefined
(我可以简单地使用arr[i].length||0
或类似的东西),但事实并非如此,整个事情会因某些值(null
或undefined
例如)而崩溃。
var i, len, arr;
arr = [true, ["elm_0"], 99, "abc"]; //crashes if you add 'null' or 'undefined'
for(i = 0, len = arr.length ; i<len ; i++){
document.write(arr[i].length + "<br>");
}
document.write("I was executed");
null
除了and之外,还有哪些其他 var 会崩溃undefined
?- 如何防止这种情况发生?