0

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 のプロトタイプを作成し、必要なときにいつでもすべてのオブジェクトに対してこの関数をオンザフライで使用できるようにできれば、すばらしいことです。ただし、プロトタイピングオブジェクトでエラーが発生するようです。

4

1 に答える 1

1

すべてのオブジェクトのプロトタイプを作成する方法はありますか

prototypeで使用できますObject

Object.prototype.isElement = function () {
    return typeof this == 'object' && 'nodeType' in this && this.nodeType === 1 && this.cloneNode
}
于 2012-04-26T04:39:18.370 に答える