在 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 的原型,并在我可能需要的时候为每个对象即时提供这个函数,那就太好了。原型对象似乎给了我错误。