好吧,这看起来很简单,但我无法让它发挥作用.我需要在一个obect中组合变量.像这样的东西:
var i = {
a: 1,
b: " sheep",
c: this.a + this.b
}
Run Code Online (Sandbox Code Playgroud)
所以以后我可以这样做:
i.a = 3;
console.log(i.c);
Run Code Online (Sandbox Code Playgroud)
得到"三只羊".
这真傻吗?或者最接近它的是什么?
使用功能.
var i = {
a: 1,
b: " sheep",
c: function () {
return this.a + this.b;
}
}
i.a = 3;
console.log(i.c());
Run Code Online (Sandbox Code Playgroud)
这看起来像但是无论如何都要避免函数调用().我已经看到get和set在对象中使用了.这是广泛使用的东西吗?
当然,你可以使用getter,但它们不能在IE <9中工作(而上面的代码会),并且由于它依赖于一种全新的语言语法,因此无法对其进行填充.
var i = {
a: 1,
b: " sheep",
get c() {
return this.a + this.b;
}
}
i.a = 3;
console.log(i.c);
Run Code Online (Sandbox Code Playgroud)