Object.prototype.__defineSetter__()

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

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

概述

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

语法

obj.__defineSetter__(prop, fun)

参数

prop
一个字符串,表示指定的属性名。
fun
一个函数,当试图去为 sprop 属性赋值时被调用。通常你要给这个函数指定一个参数:
function(val) { . . . }
val
任意的参数名,在 fun 被调用时,该参数的值就是尝试给 sprop 属性所赋的值。

描述

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

规范

不属于任何规范。

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) 11 (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) ? (Yes) (Yes)

相关链接