Object.prototype.__defineSetter__()

非标准: 该特性是非标准的,请尽量不要在生产环境中使用它!

已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。

概述

__defineSetter__ 方法可以将一个函数绑定在当前对象的指定属性上,当那个属性被赋值时,你所绑定的函数就会被调用。

语法

obj.__defineSetter__(prop, fun)

参数

prop

一个字符串,表示指定的属性名。

fun

一个函数,当试图去为 sprop 属性赋值时被调用。通常你要给这个函数指定一个参数:

function(val) { . . . }
val

任意的参数名,在 fun 被调用时,该参数的值就是尝试给 sprop 属性所赋的值。

描述

__defineSetter__ 方法可以为一个已经存在的对象设置(新建或修改)访问器属性,而 对象字面量中的 set 语法 (en-US) 只能在新建一个对象时使用。

规范

不属于任何规范。

浏览器兼容性

BCD tables only load in the browser

相关链接