2014-12-04 95 views
0

我注意到,在某些情況下,當導入jQuery時,它將作爲定義對象或數組的最後一個元素添加 - inArray ...完全破壞for ... in循環,因爲它計數愚蠢的功能作爲元素。jQuery添加inArray作爲最後一個數組/對象元素

例子:

console.log(v); 
VM19135:2 Uncaught ReferenceError: v is not defined 
var v = []; 
console.log(v); 
VM19222:2 [inArray: function] 

什麼是地獄????如何避免這種情況?

下面是一個例子網站,讓這些結果: http://kobieta.interia.pl

剛進入控制檯,然後輸入:

變種V = []; console.log(v);

回答

1

當您遇到此問題時,您需要使用Object.prototype.hasOwnProperty()。這是因爲JavaScript使用原型的方式。

這很煩人,但你需要運行你的,在類似這樣的循環:

var v = []; 
for (var name in v) { 
    if (v.hasOwnProperty(name)) { 
    console.log(v[name]); 
    } 
} 
+0

啊,忘了,謝謝! – 2014-12-05 05:46:54

相關問題