关于name属性
来源:3-4 getter 与 setter(1)
慕莱坞1501479
2019-11-28 22:57:39
var obj1={
_name:'xiaohong'
};
Object.defineProperty(obj1,'name',{
enumerable:true , //表示可被枚举,也就是可以被遍历到
get:function(){
console.log('正在访问name..');//为name属性添加get和set方法
/*return this._name;*/
},
set:function(val){
console.log('正在修改name');
}
});
obj.name=4;
console.log(obj1);
老师,那name本身算不算是obj的属性呢,我打印obj1是发现name是属于obj1的属性,但是又不能直接通过obj1.name=4的方法将obj1.name的值改为4,这是为什么呢
1回答
好帮手慕星星
2019-11-29
同学你好,name是obj1对象的属性,不过它有set和get方法,所以调用name属性的时候其实调用的是这两个方法,不能直接给name属性设置值。
视频中演示的是通过name中的方法给obj1中的_name设置属性值,这就是set和get方法的作用。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题