我正在开发一个 Array 原型添加了新方法的项目:
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]
我认为只有值应该出现在这样的控制台日志中。我做错了什么还是正常行为(无论如何看起来很奇怪)?我会很感激一些解释。