一些原生 javascript 对象的原型可以扩展为包含新函数(例如NodeList.prototype.forEach
或NodeList.prototype.addEventListener
),我使用这些新函数来允许与NodeList
. 到目前为止一切都很好,但是我应该如何将对象添加到原型中,而原型又具有自己的功能(允许NodeListVar.classList.remove("class")
)。NodeListVar.classList().remove("class")
通过执行以下操作,我已经能够做到
NodeList.prototype.classList = function(){
var _this = this;
return {
remove: function(class){
_this.forEach(function(){
this.classList.remove(class);
});
}
}
};
但是,我非常希望语法与 normal 相同element
,因此更像:
NodeList.prototype.classList = {
remove: function(class){
//where *this* would be the nodeList and *not* the DOMWindow
this.forEach(function(){
this.classList.remove(class);
});
}
};
这可能并不难,但我已经无休止地搜索了谷歌并且已经查看了无数问题并且找不到任何有用的东西。