1

我需要一些有关 javascript 原理的帮助。我有一个变量,其中部分变量名是“动态的”。让我试着解释一下;

var name_city = "London";
var name_code = "500";

从网页我得到一个名为“类型”的值。这将是“城市”或“代码”。

(为了这个例子,我只是在这里手动制作)

var type = "city";

所以用“city”作为类型的值,我现在想提醒“name_city”。但我不知道如何用 javascript 做到这一点。

有人知道吗?

在php中我认为它会是这样的:

$type = "city";

$varname = 'name_'. $type;
echo ${$varname};

我很感激任何帮助或一些正确方向的线索:-)

4

2 回答 2

2

为了实现这一点,您需要将数据存储在对象文字中,您可以在其中动态访问其键。如果您在global/window对象中写入这些变量,您可以以相同的方式访问它们。

// global scope
var name_city = "London";

var type = "city";

console.log( window[ "name_" + type ] );

如果您不在全局范围内,这将不起作用(实际上,根本不应该是这种情况)。所以你应该将数据存储在自定义对象中

var data = {
    "name_city":  "London",
    "name_code":  "500"
};

然后做同样的事情,只需通过

console.log( data[ "name_" + type ] );
于 2012-10-24T13:19:27.930 回答
0

如果您有几个“平行”变量都描述了同一实体的不同方面,那么使用对象几乎总是会更好,即

var name = {city: "London", code: 500};

You can then access the individual attributes by indexing with a variable, e.g. name[type] or by property name, e.g. name.code. A big advantage is that you can treat the object as a unit for purposes like passing it to a function rather than having to pass several different variables.

于 2012-10-24T13:53:26.527 回答