分配javascript对象属性时出现问题

时间:2011-02-09 16:17:11

标签: javascript object properties

有没有办法在下面分配像pear这样的对象属性? (示例不起作用)

var fruitColors = { apple: "green", pear: fruitColors.apple};

我可以通过这样做来实现它,但如果可能,我想像上面那样做。

var fruitColors = { apple: "green" };
fruitColors.pear = fruitColors.apple;

2 个答案:

答案 0 :(得分:1)

初始化期间无法执行此操作。你可以根据需要制作一个构造函数,但不确定它是否值得。

function FruitColors() {
    this.apple = "green";
    this.pear = this.apple;
}

var fruitColors = new FruitColors;

或在较新的实施中,您可以使用get语法来pear引用apple

var fruitColors = { 
    apple: "green",
    get pear() { return this.apple; }
}

但如果这是您的目标,则不会在浏览器中广泛支持。

答案 1 :(得分:1)

我认为你不能 - 因为当你试图访问它的属性时,fruitColors对象不存在。