可以对所有对象进行原型设计
Possible to Prototype ALL Objects
在javascript中,有没有办法对所有对象进行原型设计。一个简单的用例是,我有一个函数:
testFn(el) {
if(el.isElement()) {
//Do something
}
}
在这里,我想测试传递给函数的对象是否是 DOM 元素。通常我会使用这个函数:
function isElement(el) {
if(typeof el == 'object' && 'nodeType' in el && el.nodeType === 1 && el.cloneNode) {
return true;
}
return false;
}
但是,我发现自己一遍又一遍地重写此代码。如果我能简单地对 Object 进行原型设计,并在我可能需要的时候为每个对象提供此功能,那就太好了。不过,原型对象似乎给了我错误。
有没有办法对所有对象进行原型设计
您可以在Object
上使用prototype
:
Object.prototype.isElement = function () {
return typeof this == 'object' && 'nodeType' in this && this.nodeType === 1 && this.cloneNode
}
相关文章:
- Node.js中的JavaScript原型对象效率
- 获取原型对象的名称
- 如何维护对原型对象的访问
- 文字与原型对象表示法的数据结构
- 使用原型对象向javascript对象添加自定义属性和方法的建议
- 正在重置原型对象的构造函数属性
- 编写JS原型时,所有函数都应该使用原型对象
- 什么's是原型对象的真实名称
- Javascript - 使用数组作为函数的参数,并在创建新的原型对象时更改值
- 在原型对象 jquery 上将一个按钮与另一个按钮不同
- 原型对象
- 循环遍历数组时的原型对象
- 为什么初始化的 JavaScript 对象不包含原型对象
- JavaScript 原型对象 - 如何访问继承
- Javascript:获取此原型对象名称
- 如何在数据绑定后在 KNOCKOUT js 中使用“with”访问另一个原型对象
- 这在 JavaScript 中的原型对象中的值
- 在主干中向原型对象添加值不起作用
- 删除函数原型对象
- 为什么当我在这个JavaScript对象上使用反射时,我可以'看不到在其原型对象中定义的属性