Javascript中的双变量

Double Variables in Javascript

本文关键字:变量 Javascript      更新时间:2023-09-26

可能重复:
Javascript变量

PHP中有一个非常方便的东西(我确信这是有罪的),但我正在寻找JavaScript的替代方案。

在PHP中,我可以做到这一点:

$bar = 'var';
$$bar= 'test';
echo $var;

我在JavaScript中寻找类似的东西。我想将一个名称传递给一个函数,并用该名称初始化一个新变量。因此:

function(name) {
    var name = new Function();
}

更新:好吧,这就是我要做的。我知道有一个更简单的方法。。

我想使用一些东西的多个实例(现在让我们说plupload)。

var uploader = new plupload();

我正在动态加载这些,一页上会有倍数。我遇到的问题是,它们都必须有一个唯一的名称,因为我必须能够调用uploader.init()、uploader.refresh()等,并且每个函数都独立。

正如我所说,我相信还有更好的方法。。我只是不知道而已。

这是有罪的。在PHP和JavaScript(以及几乎所有其他语言)中,如果你有一个相关的东西的集合,那么你应该用一个数组(如果它们是有序的,而不是稀疏的)或一个对象/关联数组(如果他们有名字)来表示它们。

var bar = 1;
var foo = "test";
var group = {};
group[bar] = foo;
console.log(group[1]);

变量本质上是伪数组/对象。使用真正的——它们给你更多的力量,更容易维护。

看到您的编辑,我建议您使用一个对象来存储您唯一的plupload实例。

var all_uploads = {};
all_uploads["unique_name_1"] = new plupload();
all_uploads["unique_name_2"] = new plupload();
all_uploads["unique_name_3"] = new plupload();

您可以按照自己的意愿生成"unique_name"字符串。

另一种选择是使用一个简单的数组,每个数组上的plupload实例都有push()。不幸的是,每次你想找到一个特定的实例时,你都必须搜索数组,但如果数组保持较小,那么性能损失就非常小。