2012-08-27 81 views
0

變量可以用任何語言的字符串或字符數組命名嗎?基本上我想要的東西是這樣的:用字符串命名變量

Var_String = "varname" 
Var_String as double 

然後我可以填寫double varname。 如果它幫助我試圖製作一個可以在運行時即時聲明變量的程序。即使這樣做不可行,即使它們不切實際,我也願意接受解決方法,儘管我更喜歡VB6,C++或PHP中的解決方法,因爲我已經知道這些語言,但他們不必這樣做。

回答

1

Javascript完全可以在運行中聲明變量名稱。一個JavaScript對象可以被視爲一個「關聯」字典。注意:

var testyObject = function() 
{ 
    Awesome = "hello"; 
}; 

var myObject = new testyObject(); 

alert(myObject.Awesome); // creates an alert window that says hello 
alert(myObject['Awesome']); // the same as above 
myObject[myObject.Awesome] = "woo!"; // We just created a property on the object with the name "hello" 
alert(myObject.hello); // creates an alert window that says "woo!" 

我也相信你可以通過使用this["whatever you want it named"] = "woo!";它們添加到您最近的範圍內,而不是在其他對象的屬性,但我不能肯定,有人可以糾正我的,如果這種不工作。

您可以閱讀http://www.quirksmode.org/js/associative.html

+0

好吧,我有種讓你在說什麼。從我所知道的JavaScript(這不是很多)它用於基於瀏覽器的事情是正確的?我在想獨立的應用程序。和JavaScript有關的Java語言?如果他們很可能很快就會了解到這一點,這可能會有所幫助。很抱歉,如果這是...不方便或統一。我只是新手上面的幾個缺口。 – user1626604

+0

隨着你在做什麼,你其實只是想要一本字典?這是一個KeyValuePairs的列表,你可以通過使用鍵索引值,HashTable和Map是兩個其他類似的數據結構(字典通常是具有碰撞安全性的封面下的哈希表)。我只是想回答你的問題,關於在任何語言中是否有可能。儘管Javascript看起來像Javascript,但它與Java完全無關,這在JavaScript的早期階段是一種常見而危險的誤解。 –

1

通常的方法更多關於關聯數組做這樣的事情被稱爲哈希值。您存儲名稱/值對並給出名稱,可以查找其值。通常可以定義它們來存儲任何類型的對象。事實上,在某些語言中,對象本身基本上是具有一些額外屬性的哈希。

你可以找到關於維基百科的更多信息:http://en.wikipedia.org/wiki/Hash_table