在对象内组合变量的Javascript

在对象内组合变量的Javascript,javascript,Javascript,好吧,这看起来很简单,但我就是不能让它工作。我需要在OBCT中组合变量。大概是这样的: 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 () { r

好吧,这看起来很简单,但我就是不能让它工作。我需要在OBCT中组合变量。大概是这样的:

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在对象中使用。这是被广泛使用的东西吗

当然,您可以使用getter,但它们在IE中无法使用函数

var i = {
    a: 1,
    b: " sheep",
    c: function () {
        return this.a + this.b;
    }
}

i.a = 3;
console.log(i.c());

看起来是这样,但无论如何都可以避免函数调用。我见过get和set在对象中使用。这是被广泛使用的东西吗

当然,您可以使用getter,但它们在IE中不起作用只有在执行以下操作时,才可以使用object literal:

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; }
};

console.log( i.c() );

看起来是这样,但无论如何都可以避免函数调用。我见过在物体中使用的。这是一个被广泛使用的东西吗?看起来是这样,但无论如何都可以避免函数调用。我见过在物体中使用的。这是被广泛使用的东西吗?