我定义了 Node 的原型函数“isElement”,我想让它像“div.isElement”返回“true”一样工作。
<div id="dom1">someText
<p>This is p1 of <span class="bold">dom1</span></p>
</div>
Node.prototype.isElement = (function(){
var result;
var fn = function(){
console.log(obj);
result = (this.nodeType == 1 ? true : false);
return result;
};
fn.toString = fn.valueOf = function(){
return result;
};
return fn;
})();
var dom1 = document.getElementById('dom1');
dom1.isElement(); //true
dom1.isElement; //true
如果“dom1”从不调用函数“isElement()”,则“dom1.isElement”返回“未定义”。我理解为什么它返回“未定义”,但我想知道当“isElement()”从不被调用时如何让它返回“真”或“假”。
我只想像这样使用它:
if(dom1.isElement){//do something}
但不喜欢:
if(dom1.isElement()){//do something}
等待答案,谢谢。