构造一个obj对象的时候他自己的属性应该都是空的吧
其他的属性都是原型链上的吧
那set方法是怎么给新构造出来的obj对象赋值的呢
视频中是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}})
你说的是obj.prototype吧,obj.prototype是不允许修改,配置和枚举的