Object.prototype.__defineSetter__()
定义:__defineSetter__ 方法可以将一个函数绑定在当前对象的指定属性上,当那个属性被赋值时,你所绑定的函数就会被调用。
其实在上面这句官方语言里面,我们就可以知道了几点关键信息 1、该方法是用于给对象设置/添加属性的 2、当属性被赋值的时候会触发__defineSetter__绑定的函数 3、方法名其实就是实例化对象的属性名 4、Object.prototype === 实例.constructor 语法: obj.__defineSetter__(prop, fun) 注意回调函数一定要传入属性的名字
对比__defineGetter__: getter方法没有参数,setter方法必须有一个参数,也就是要设置的属性的新值。 <!-- 参数是(属性,回调函数) -->