为什么我不能列出Node.prototype的属性?

时间:2018-07-27 18:35:59

标签: javascript dom

var props = {}

for (var prop in Node.prototype) {
    if (Node.prototype.hasOwnProperty(prop)) {
        props[prop] = Node.prototype[prop];
    }
}

我正在使用此代码来尝试获取Node.prototype对象的所有属性,但它在此行props[prop] = Node.prototype[prop];上显示“非法调用”。我想念什么?

1 个答案:

答案 0 :(得分:0)

因为您尝试访问原型上的吸气剂(也许是innerHTML或类似的东西),但是只能在节点的实例上访问它。您可以使用以下方法跳过吸气剂:

 if(!Object.getOwnPropertyDescriptor(Node.prototype, prop).get) {
   props[prop] = Node.prototype[prop];
 }