我有一個變量數組。 我想要一個變量與前一個變量相等。 例如:JavaScript對象文字符號內部變量指針
var myVars = {
var1: "test",
var2: var1
};
alert(myVars.var2);
//輸出:VAR1沒有定義
任何想法?我確定這是某種可變範圍限制。 我想聽聽別的。 在此先感謝。
我有一個變量數組。 我想要一個變量與前一個變量相等。 例如:JavaScript對象文字符號內部變量指針
var myVars = {
var1: "test",
var2: var1
};
alert(myVars.var2);
//輸出:VAR1沒有定義
任何想法?我確定這是某種可變範圍限制。 我想聽聽別的。 在此先感謝。
你不能指同一object literal在表達式中不使用的功能,我會建議你使用等效的語法:
var myVars = {};
myVars.var1 = "test",
myVars.var2 = myVars.var1;
var myVars = {
var1: "test",
var2: this.var1
};
吧?
'this'綁定到函數上下文中,與'myVars'實例無關 – CMS 2009-12-11 17:24:17
或者:
var myVar = "test";
var myArr = {
var1: myVar,
var2: myVar
}
我試圖將名稱空間原因的所有變量保存在單個對象中。這在我的情況下不起作用。 – 2009-12-11 19:38:15
就在這種情況下,您需要將所有必要的變量包含在對象中,如CMS所建議的。請注意,您也可以將該數組聲明爲對象: var myVars = new Object(); myVars.var1 =「test」; myVars.var2 = myVars.var1; – 2009-12-11 19:53:53
什麼數組?這裏沒有使用數組。 – 2009-12-12 07:56:17
完美的感謝。 我實際上採用了這種方法。 我只是希望我上面提到的方法能工作。 不要猜! – 2009-12-11 18:50:46