我知道你应该避免它,因此虽然很烦人,但我总是保护自己免受它的侵害。
但是当使用“for in”时,究竟是什么导致原型的扩展出现呢?有时使用“for in”是(或似乎是)安全的,有时则不是。
IE:
我在谈论例如:
Array.prototype.last = function(){ return this[this.length-1]; }
显示为:
for(var k in someArray){
console.log("%o %o", k, someArray[k]); // eventually outputs "last 'function(){ return this[this.length-1]; }'
}