Object.prototype.__lookupSetter__()

已废弃: 该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

__lookupSetter__ 方法是用来返回一个对象的某个属性上绑定了 setter(设置器)的钩子函数的引用。
 

语法

obj.__lookupSetter__(sprop)

参数说明

sprop
一个字符串类型,表示要返回的 setter 钩子的函数名。

返回值

一个绑定了 setter 的特殊属性的函数引用。

描述

如果一个 setter 被定义在了一个对象的属性上,则不能直接通过该属性来获取引用 setter 所设置的钩子的函数,因为该属性是该函数的返回值,但,__lookupSetter__ 可以被用来获取对 setter 函数的引用。

不过现在可以使用标准的方法:

Object.getOwnPropertyDescriptor().

示例

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; })

规范

规范 状态 备注
ECMAScript (ECMA-262)
Object.prototype.__lookupSetter__()
Living Standard 包含在(规范性)附件中,用于 Web 浏览器的附加 ECMAScript 遗留功能(请注意,这份规范编撰的内容已经是准备实现的了)。

浏览器兼容性

BCD tables only load in the browser

相关链接