2012-08-27 52 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