关于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方法的作用。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 10739 问题

查看课程