今天编写js的时候,发现了一个很奇怪的现象,每个数组居然使用for in 数组的时候,会默认对数组添加一个clone属性,代码如下:
var x
var mycars = [];
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
mycars = ['a','b','c'];
var bb = '';
/*
for (x in mycars)
{
console.log('x=' + x + ', v=' + mycars[x] + "\n");
bb += mycars[x] + "<br/>";
}
console.log(bb);
*/
for(var i=0; i<mycars.length; i++) {
bb += mycars[i] + "\n";
}
console.log(bb);
这里可以看到通过for in的方式,多了一个clone属性,非常奇怪,在谷歌浏览器没有见到该问题。以前也没有碰到过,莫非新引擎变化了?
以后尽量要使用for循环进行处理,有好的方法欢迎指教,谢谢