Object.prototype.__lookupSetter__()
已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。
__lookupSetter__
方法是用来返回一个对象的某个属性上绑定了 setter(设置器)的钩子函数的引用。语法
obj.__lookupSetter__(sprop)
参数说明
sprop
-
一个字符串类型,表示要返回的 setter 钩子的函数名。
返回值
一个绑定了 setter 的特殊属性的函数引用。
描述
如果一个 setter 被定义在了一个对象的属性上,则不能直接通过该属性来获取引用 setter 所设置的钩子的函数,因为该属性是该函数的返回值,但,__lookupSetter__ 可以被用来获取对 setter 函数的引用。
不过现在可以使用标准的方法:
示例
var obj = {
set foo(value) {
this.bar = value;
}
};
// 非标准,并且不推荐使用。
obj.__lookupSetter__('foo')
// (function(value) { this.bar = value; })
// 标准且推荐使用的方式。
Object.getOwnPropertyDescriptor(obj, 'foo').set;
// (function(value) { this.bar = value; })
规范
Specification |
---|
ECMAScript Language Specification # sec-object.prototype.__lookupSetter__ |
浏览器兼容性
BCD tables only load in the browser