我经常在迭代之前检查一个集合是否存在:
var a1 = [1,2,3], a2;
if(a1){
$.each(a1, function(k, v){
console.log(v);
});
}
我想了一下内联解决方案,并想出了这个:
!a1 || $.each(a1, function(k, v){
console.log(v);
});
这似乎工作得很好。有任何缺点或替代方案吗?
如果没有检查,我会得到Uncaught TypeError: Cannot read property 'length' of undefined
例外。
答案 0 :(得分:1)
你当然可以用另一种方式使用||
运算符:
$.each(a2 || {}, function(k, v){
console.log(v);
});
或
$.each(a2 || [], function(k, v){
console.log(v);
});