好吧,这看起来很简单,但我不能得到它的工作。我需要将变量结合在一起。事情是这样的:结合对象内的变量的Javascript
var i = {
a: 1,
b: " sheep",
c: this.a + this.b
}
因此以后我可以这样做:
i.a = 3;
console.log(i.c);
并获得 “3羊”。
这是愚蠢的吗?或者最接近它的是什么?
好吧,这看起来很简单,但我不能得到它的工作。我需要将变量结合在一起。事情是这样的:结合对象内的变量的Javascript
var i = {
a: 1,
b: " sheep",
c: this.a + this.b
}
因此以后我可以这样做:
i.a = 3;
console.log(i.c);
并获得 “3羊”。
这是愚蠢的吗?或者最接近它的是什么?
使用函数。
var i = {
a: 1,
b: " sheep",
c: function() {
return this.a + this.b;
}
}
i.a = 3;
console.log(i.c());
这看起来像,但反正是有避免函数调用()。我见过在对象中使用get和set。这是被广泛使用的东西吗?
当然,你可以用干将,but they won't work in IE <9(而上面的代码),而且也没有办法,因为它依赖于一个完全新的语言语法垫片它。
var i = {
a: 1,
b: " sheep",
get c() {
return this.a + this.b;
}
}
i.a = 3;
console.log(i.c);
有可能在对象字面只有当你这样做:
var i = {
a: 1,
b: " sheep",
c: function() { return this.a + this.b; }
};
console.log(i.c());
var i = {
a: 1,
b: " sheep",
c: function() { return this.a + this.b }
}
i.a = 3;
console.log(i.c());
这看起来像,但反正是有避免函数调用()。我已经看到了在对象中使用的[get和set](https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters)。这是被广泛使用的东西吗? – mattl 2013-03-19 10:18:40
当然,这也会起作用。看我的编辑。 – 2013-03-19 12:44:30
真棒 - 谢谢 – mattl 2013-03-19 19:34:27