js中的get和set方法(demo说明)

时间:2025-02-23 12:28:34
var obj2 = {}; (obj2, {'wife2': {get : function () {return 'lbb';}}, 'wife3':{value:'zdy'} } ); obj2.wife2 = 'zly'; obj2.wife3 = 'zly'; (obj2);//{wife3: "zdy"} (obj2.wife2);//lbb ((obj2, 'wife2')); //{set: undefined, enumerable: false, configurable: false, get: ƒ} ((obj2, 'wife3')); //{value: "zdy", writable: false, enumerable: false, configurable: false} //set的理解 var obj2 = {}; (obj2, {'wife2': {get : function () {return 'lbb';} ,set : function (data) { //此时传入的实参就是想要改变的obj2.wife2的值obj2.wife2 = 'chenhao'。data就是用来接收它的。 (data);//chenhao } }, 'wife3':{value:'zdy',writable:true} } ); (obj2.wife2);//lbb obj2.wife2 = 'chenhao'; (obj2.wife2);//lbb //set和get理解 var obj2 = {}; (obj2, {'wife2': {get : function () { this.value = 80; //return出的值是什么,obj2.wife2的结果就会是什么。 return this.value; } ,set : function (data) { //data用来接收修改的值,obj2.wife2 = 'chenhao'; (data);//chenhao //此时将get中的return出去的值改成data,即chenhao。 //但是注意,因为之前的 = 80,这次的赋值覆盖了其它的值,所以输出的依然是80. this.value = data; } },'wife3':{value:'zdy',writable:true} } ); (obj2.wife2);//80 obj2.wife2 = 'chenhao'; (obj2.wife2);//80 //get和set的理解3 var obj2 = {wname:'xiannv1',wname2:'xiannv2'}; (obj2, {'wife2': {get : function () { //确定了obj2.wife2输出的值是return后面的内容,即 = 'xiannv1'。 //get是读取对象属性值的方法。obj2对象的wife2通过get得到值。 return this.wname; } ,set : function (data) { //想修改obj2.wife2,通过data接收到修改的属性值。 //set是修改属性值的方法,想要修改obj2.wife2,就是修改get中ruturn的内容,即。然后将想要修改的属性值data=chenhao,赋值给。 (data);//chenhao this.wname = data; } }} ); (obj2.wife2);//xiannv1 obj2.wife2 = 'chenhao'; (obj2.wife2);//chenhao