-1

varName「myvar」の内容を持つ変数があります。variableの名前と の内容を持つ変数を作成したいvarNameので、名前は になりますvariablemyVar

どうすればいいですか?

4

1 に答える 1

6

できるよ

window["variable" + varName] = 42;
console.log(variablemyvar); // 42

これにより、変数がグローバルになります。の代わりにwindow、任意のスコープ (オブジェクト) を使用できます。

var myObject = {
    someOtherVariable: 1337
};

myObject["variable" + varName] = 42;
console.log(myObject.variablemyvar); // 42

ただし、可能な限り、これを完全に行うことは避けてください。その理由は、このようなコードは簡単に壊れてしまうからです。後で変数の名前を変更したいとします。ほとんどの場合、IDE でさえ、これを見落とします。もう 1 つの理由は、コード縮小機能がこれを縮小できないことです。それらを「アグレッシブ」に設定すると、縮小中にコードが壊れることさえあります。

最後に、特に を使用した最初の例を使用するとwindow、グローバル変数は悪い習慣と見なされ、どのように宣言しても、常に避ける必要があります。

于 2013-10-18T16:26:46.167 に答える