代码之家  ›  专栏  ›  技术社区  ›  Justin Bull

javascript对象文字符号内部变量指向[重复]

  •  2
  • Justin Bull  · 技术社区  · 16 年前

    这个问题已经有了答案:

    我有一个变量数组。 我想要一个变量等于前一个。 例如:

    var myVars = {
        var1: "test",
        var2: var1
    };
    
    alert(myVars.var2);
    

    //输出:未定义var1

    有什么想法吗?我确信这是某种变量范围限制。 我想听听别的。 事先谢谢。

    3 回复  |  直到 16 年前
        1
  •  7
  •   Christian C. Salvadó    16 年前

    你不能引用相同的 object literal 在不使用函数的表达式中,我建议您使用等效语法:

    var myVars = {};
    
    myVars.var1 = "test",
    myVars.var2 = myVars.var1;
    
        2
  •  1
  •   Jay Zeng    16 年前

    或:

    var myVar = "test";
    
    var myArr = {
        var1: myVar,
        var2: myVar
    }
    
        3
  •  -1
  •   matpol    16 年前
    var myVars = {
        var1: "test",
        var2: this.var1
    };
    

    也许?