__lookupGetter__ VS getOwnPropertyDescriptor来获取一个getter

时间:2018-10-22 07:26:51

标签: javascript html getter

我正在尝试为“ HTMLStyleElement.prototype.innerHTML”设置吸气剂。 但是我仍然需要检索本机,以便在完成后可以调用它。 如果我将像这样使用 lookupGetter

HTMLStyleElement.prototype.__lookupGetter__("innerHTML")

我将获得原始的吸气剂,但是根据MDN的要求,此功能已从网络标准中删除。 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupGetter)。

所以我尝试使用

Object.getOwnPropertyDescriptor()

像这样:

Object.getOwnPropertyDescriptor(HTMLStyleElement.prototype,"innerHTML").get

但是由于某种原因它将返回“ undefined”,那么我在做什么错了?

1 个答案:

答案 0 :(得分:3)

.innerHTML属性是继承的。 __lookupGetter__似乎考虑了这一点,但是使用getOwnPropertyDescriptor时,您需要从定义的Element.prototype中检索它:

Object.getOwnPropertyDescriptor(Element.prototype,"innerHTML").get