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 回答