3

ある変数の内容をjavascriptの別の変数名として使用したいという問題があります。この場合、その変数の内容はわかりません。テキストタイプであることがわかっているだけであり、宣言する必要のある変数がそのテキストを名前として使用することを願っています。

誰かが親切にそれを行う方法のいくつかの提案を私に与えることができますか?

ありがとうございました!

4

2 に答える 2

4

後者の変数がブラケット表記を介してアクセスできる限り、変数の値を別の変数の名前として使用できます。

var firstVariable = 'secondVariable';

window[firstVariable] = 'secondValue';
// you now have a global variable 
// named "secondVariable" with the value "secondValue"

このようにグローバル名前空間を乱雑にすることはお勧めしません。それはデモンストレーションのためだけでした。

于 2012-09-19T17:39:58.903 に答える
3

実際にはできません。変数名 ( identifierseval ) は、スコープ内で( を使用しない限り) 静的です。

ただし、そのためにオブジェクトを簡単に使用できます。変数名を使用してそれらのプロパティにアクセスするのは簡単です。ブラケット表記を使用します。

var obj = { someprop:"someval", otherprop:… },
    name = "someprop";
obj[name]; // "someval"

グローバル変数が必要な場合は、グローバル オブジェクトのプロパティとしてアクセスすることで実行できます (ブラウザーでは: window)。

variable = "someval";
var name = "variable";
window[name]; // "someval"
于 2012-09-19T17:35:35.417 に答える