课程
/前端开发
/JavaScript
/JavaScript深入浅出
构造一个obj对象的时候他自己的属性应该都是空的吧
其他的属性都是原型链上的吧
那set方法是怎么给新构造出来的obj对象赋值的呢
2017-03-09
源自:JavaScript深入浅出 4-4
正在回答
视频中是get方法,obj是foo的实例,它本身是没有z属性的,当obj.z = 10赋值时程序发现obj并没有z这个属性,于是就像上查找foo的原型属性z,并且这个z的属性值是被get方法暴露出来的,是不能被改变的,只能通过set方法改变,你要obj的z能设置属性就要给z设置一个set方法就可以了,Object.definedProperty(obj, 'z', {set: function(val){return val}})
qq_谜离_03319966 提问者
你说的是obj.prototype吧,obj.prototype是不允许修改,配置和枚举的
举报
由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握
1 回答set方法赋值不成功?
2 回答为什么我在给子类添加原型方法后无法调用父类原型上的方法
1 回答不太懂set方法,怎么结果不对?
2 回答set方法只能接受一个参数吗?
3 回答这里的get和set方法怎么跟前面讲的不一样,