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];
上显示“非法调用”。我想念什么?
答案 0 :(得分:0)
因为您尝试访问原型上的吸气剂(也许是innerHTML
或类似的东西),但是只能在节点的实例上访问它。您可以使用以下方法跳过吸气剂:
if(!Object.getOwnPropertyDescriptor(Node.prototype, prop).get) {
props[prop] = Node.prototype[prop];
}