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」は「undefined」を返します。「未定義」を返す理由は理解していますが、「isElement()」が呼び出されない場合に「true」または「false」を返す方法を知りたいです。
私はそれを次のように使いたいだけです:
if(dom1.isElement){//do something}
しかし、好きではありません:
if(dom1.isElement()){//do something}
答えを待っています、ありがとう。