例如,在Array
數據類型有一個名爲pop()
功能,我想用增加:爲什麼原生數據類型屬性沒有在其對應的原型上顯示?
Array.prototype.pop = function(){ /* ... */ };
但據我所知,使其不可枚舉的唯一方法就是像做這:
Object.defineProperty(Array.prototype, "pop", { enumerable: false });
這不是所有的瀏覽器都支持。
Array.prototype.doSomething= function(){ };
var arr = [];
console.log(arr); // [doSomething: function]
那麼,爲什麼doSomething
在這裏顯示出來,而pop()
不?他們是不是都添加到原型?
使用數組文字記錄數組:'[elem,elem]'。您如何期望自定義屬性適合這裏? '{0:elem,1:elem,length:2,pop:...}'? –
@ alex23在這個例子中,chrome開發者工具。但通常螢火蟲。我相信它也會出現在那裏。 – Johan
@RobW好吧,如果你看這裏:http:// jsfiddle。net/6BAJx/1 /在Chrome中,你會得到'[1,2,3,doSomething:function]'。我的問題是爲什麼只有我的自定義屬性「適合」,而本機是不可見的。 – Johan