1

これに直接答える質問が見つからないようです。

関数の引数をその関数内の変数の名前として使用したいと思います。

例えば、

test(var1);

function test(foo)
{
    var foo = 'Hello world!'; // Set var1
}

alert(var1); // Hello world!

ここで括弧を使用できますか (つまり、window.[ ])?

4

2 に答える 2

4

ええ、ブラケットを使用できます:

window[foo] = "Hello World"

ここにJSFiddleがあります

于 2013-09-13T02:14:32.747 に答える
1

ええと...わかりました。これはほぼ間違いなく良い考えではありません。

短い答え:ちょっと。ブラウザで実行している場合は、次のことができます。

var polluteGlobalNamespace = function(symbol) {
    window[symbol] = "whatever";
};
polluteGlobalNamespace('foo');
console.log(foo);

しかし、それはグローバル変数に対してのみ機能します。JavaScript にはファーストクラスの環境がないため、関数スコープの変数でこれを行う方法はありません。

しかし、深く暗いメタプログラミングを行っていない限り、これは良い考えではありません。この関数で解決しようとしている問題を投稿して、慣用的な方法を確認することをお勧めします。

于 2013-09-13T02:19:13.323 に答える