1

JavaScriptの原則について助けが必要です。変数名の一部が「動的」である変数があります。説明してみましょう。

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

Web ページから、「type」という名前の値を取得しました。これは「都市」または「コード」になります。

(この例のために、ここでは手動で作成しています)

var type = "city";

そのため、type の値として「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};

次に、変数 ( など)name[type]またはプロパティ名 ( name.code. 大きな利点は、いくつかの異なる変数を渡すのではなく、オブジェクトを関数に渡すなどの目的でオブジェクトをユニットとして扱うことができることです。

于 2012-10-24T13:53:26.527 に答える