是否可以创建一个新数组,并为其提供变量内容的名称?
例如这样的:
var nameofarray = "array_name";
var ¿nameofarray? = new Array();
这样就¿nameofarray?
得到了“array_name”的值?
是否可以创建一个新数组,并为其提供变量内容的名称?
例如这样的:
var nameofarray = "array_name";
var ¿nameofarray? = new Array();
这样就¿nameofarray?
得到了“array_name”的值?
假设您在全局范围内(称为window
),因此:
var nameofarray = "array_name";
window[nameofarray] = new Array();
否则,它仅适用于对象:
function a() {
var nameofarray = "array_name";
var obj = {};
obj[nameofarray] = new Array();
}
您也可以使用评估。用于将字符串评估为 JavaScript 代码:
eval('var '+ nameofarray+'=new Array()');
这也适用于本地范围,但我几乎从不向任何人记录。
您可能想阅读:http: //javascriptweblog.wordpress.com/2010/04/19/how-evil-is-eval/
在 PHP 和其他语言中,它们被称为变量变量。这可能会有所帮助:Javascript“变量变量”:如何根据另一个变量分配变量?
如果nameofarray
在全局范围内声明,则可以使用该window
对象:
window[nameofarray] = []; // Use an array literal instead also
^^^^^^^^^^^^^^^^^^^
但你真的不应该这样做。