日期:2014-05-16  浏览次数:20293 次

Javascript技巧-不要用for in语句对数组进行遍历

一,为什么不要用for in语句

jqModal这个jquery插件估计很多人都使用过,在jqModal源码内部,有一个函数为hs,其中有个嵌套循环如下,

?

for(var i in {jqmShow:1,jqmHide:1})
for(var s in this[i])
if(H[this[i][s]])
H[
this[i][s]].w[i](this);
return F;
}

?

第一个for in遍历的目标是个匿名对象,没有问题。

第二个for in遍历,根据上下文确认this[i]是一个数组对象(Array)。