for in 遍历的不是数组,而是那个对象,也就是cbAll 这个对象,它遍历访问的每个值其实是cbAll的每个属性,而不是数组元素,不信你可以用for(var i in cbAll){ alert(i);} 来看看每个i到底是谁,肯定不是数组元素。for 循环根据下标访问的才算真是的数组元素。所以for in 和for 是有区别的。并且,使用for in 的效率要远低于for循环哦