在我们遍历数组的元素时,经常采用两种方式----for和for in。接下来我们来谈谈他们两者的区别。 a.for(var i=0;i<=arr.length-1;i++){} b.for(var i in arr){} 以上两种方式我们经常用来遍历数组以及字符串,它们两者主要的区别: 1.在循环数组时, for in循环给循环变量赋值为字符串类型,且它必须把所有的元素要循环一遍。而普通的for循环给循环变量赋值为数字类型,但它可以控制循环哪些元素,更加灵活,所以for in的效率远不及for循环。 2.循环对象:for in循环可以直接循环对象,而普通的for循环没法直接循环对象。 3.用for in循环数组时,就是把数组当做了对象处理,下标就是对象名。 所以说,当你不需要控制循环哪些元素时,直接用for in即可,否则就用普通的for循环,自己可以根据需求控制,更加灵活。