当前对象属性作为同一对象中的值的不同属性

jol*_*olt 1 javascript properties dynamic object

抱歉这样一个随机的标题,但不知道如何更好地解释它.因此,不知道这是否是一个重复的问题.

因此,在声明一个新对象时,我正在寻找计算giga值:

var myObject = {
    super : 1,
    mega : 5,
    uber : 100,
    giga : this.super + this.mega + this.uber // super + mega + uber doesn't cut it either..
};
Run Code Online (Sandbox Code Playgroud)

但这不起作用,那么,在宣布或不可能时这样做的任何方法呢?

希望我已经让自己明确并提前感谢!

geo*_*org 6

在Javascript 1.5中,您可以使用get关键字来定义getter

var obj = {
    super : 1,
    mega : 5,
    uber : 100,
    get giga() {
        return this.super + this.mega + this.uber;
    }
};

alert(obj.giga) // 106
Run Code Online (Sandbox Code Playgroud)

更多关于这个http://robertnyman.com/2009/05/28/getters-and-setters-with-javascript-code-samples-and-demos/