非标准
该特性是非标准的,请尽量不要在生产环境中使用它!
已废弃
该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。
概述
__lookupGetter__
方法会返回当前对象上指定属性的属性读取访问器函数(getter)。
语法
obj.__lookupGetter__(sprop)
参数
sprop
- 属性名
示例
var obj = { get foo() { return Math.random() > 0.5 ? "foo" : "bar"; } }; obj.__lookupGetter__("foo") // (function (){return Math.random() > 0.5 ? "foo" : "bar"})
附注
__lookupGetter__
方法是非标准的,我们应该使用标准中定义的方法来完成同样的事情,那就是 Object.getOwnPropertyDescriptor()
方法:
var obj = { get foo() { return Math.random() > 0.5 ? "foo" : "bar"; } }; Object.getOwnPropertyDescriptor(obj, "foo").get // (function (){return Math.random() > 0.5 ? "foo" : "bar"})
如果那个访问器属性是继承来的,你还需要使用 Object.getPrototypeOf()
:
var obj = {}; var prototype = Object.getPrototypeOf(obj); Object.getOwnPropertyDescriptor(prototype, "foo").get // function __proto__() {[native code]}
规范
不属于任何规范。
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | ? | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | ? | ? | (Yes) |