假设我有一个Javascript对象:
var myObj = {
property1 : 20,
property2 : -20
}
但-20
代替property2
,我需要取property1
的值并将其转换为property2
内的负数:
var myObj = {
property1 : 20,
property2 : this.property1 * -1
}
这不起作用,但我认为这说明了我想要完成的任务。
答案 0 :(得分:2)
你做不到。您可以稍后分配:
var myObj = {
property1: 20
};
myObj.property2 = -myObj.property1;
答案 1 :(得分:1)
我可以建议你以下
var myObj = {
property1 : 20,
get_property2 : function() {
return this.property1 * -1;
},
set_property2 : function(value) {
this.property1 = value * -1;
}
}
修改
似乎这是一个依赖属性所以它只是readonly。但我编辑了代码,以便它也可写。
答案 2 :(得分:0)
您可以使用:
var myObj = {
property1 : 20,
get property2() { return this.property1 * -1; }
};
但你只能阅读property2
财产。
定义property2
的setter不会有问题。
请参阅JavaScript Getters and Setters链接。