1、for/in将遍历从原型中继承的属性。
因此遍历数组的时候有诸多不便,需要通过以下方式保证属性是属于当前数组而不是继承来的。
for( var i in a) { if (!a.hasOwnProperty(i)) continue; //循环语句 }
2、for/in遍历对象的时候顺序是不定的。
数组中可能有Number,String,Object等各种各样的对象,而他们的定义的时候跟index无关,所以如果数组遍历需要按照顺序,则for/in不适合。
总之,数组的遍历最好用for循环进行。