Javascript 嵌套类对象上的defineProperty
假设我们有这样一门课:Javascript 嵌套类对象上的defineProperty,javascript,oop,object,prototype,Javascript,Oop,Object,Prototype,假设我们有这样一门课: var MyClass = function() { this.oneProp = 'one prop'; this.myProps = { prop1: 'my prop1', prop2: 'my prop2' }; }); 如何使用Object.defineProperty在myProps.prop1上配置getter/setter,以便在更改myProps.prop1时,myProps.prop2的值设置为
var MyClass = function() {
this.oneProp = 'one prop';
this.myProps = {
prop1: 'my prop1',
prop2: 'my prop2'
};
});
如何使用Object.defineProperty
在myProps.prop1上配置getter/setter,以便在更改myProps.prop1
时,myProps.prop2
的值设置为,例如'+prop1
我找到了一种在oneProp
上定义getter/setter的简单方法,使用:
Object.defineProperty(MyClass.prototype, 'oneProp', {
...
});
但是我不知道如何在myProps.prop1
上做同样的事情
谢谢您可以直接在对象文本中编写getter
var MyClass=function(){
this.oneProp='one prop';
this.myProps={
建议一:“我的建议一”,
get prop2(){return'.'+this.prop1;},
集合prop2(v){this.prop1=v;}
};
}
var x=新的MyClass;
document.write(x.myProps.prop2+“
”);
x、 myProps.prop2=42;
document.write(x.myProps.prop2+“
”)代码>不能在原型上放置实例属性的属性