gpt4 book ai didi

javascript原型(prototype)方法assign VS underscore _.extend

转载 作者:行者123 更新时间:2023-11-29 09:53:33 25 4
gpt4 key购买 nike

下面的代码有区别吗?

纯 javascript:

Array.prototype.addOrRemove = function(value) {
var index = _.indexOf(this, value);

if (index === -1) {
this.push(value);
} else {
this.splice(index, 1);
}
return this;
};

下划线扩展:

_.extend(Array.prototype, {
addOrRemove: function(value) {
var index = _.indexOf(this, value);

if (index === -1) {
this.push(value);
} else {
this.splice(index, 1);
}
return this;
}
});

其中一种比另一种有什么好处吗?

最佳答案

在这种情况下,什么都没有。如果您要添加多个新属性/方法,下划线方法会更好。

但是我建议不要修改 Array 原型(prototype),除非你知道你正在使用什么库以及它们在做什么,如果你覆盖某些方法,很容易破坏某些其他库 (PrototypeJS) 和浏览器本身的功能.不过,这只是一个旁注……

关于javascript原型(prototype)方法assign VS underscore _.extend,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17273252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com