2
我工作的一個項目中,數組原型有新的方法添加:JavaScript數組的原型 - 新的方法添加 - 奇怪的console.log
Array.prototype.addOrRemove = function(value) {
var index = _.indexOf(this, value);
if (index === -1) {
this.push(value);
} else {
this.splice(index, 1);
}
return this;
};
它要麼增加了新的價值(如果它不存在數組中)或刪除它(否則)。奇怪的是,當我鍵入:
console.log([]);
我得到下面的輸出(在Chrome JS控制檯):
[addOrRemove: function]
我以爲只有值應該是存在於這樣的控制檯日誌。我做錯了什麼或者是一種正常的行爲(反正看起來很奇怪)?我會很感激一些解釋。
看起來正常的我。 –
這很好,它只是告訴你爲了方便而添加的自定義方法,如果你進一步考慮,你會看到'length:0'。無論如何,如果您使用Underscore,則無需使用該功能來擴展原型。 – elclanrs
@elclanrs是的,我正在使用下劃線。你能解釋我怎麼用_而不是擴展數組原型?爲什麼_優於重寫原型? – ducin