1

我刚刚阅读了“在 JavaScript 函数中定义全局变量”,我想尝试做同样的事情,但这次传递了一个字符串作为全局变量名。

function createGlobal(strname){
    window.strname={
        name:"John",
        age:27
    };
}

createGlobal("myglobal");

//can't use "alert(myglobal.name);", myglobal is not defined and crashes
//however, this works v
alert(strname.name); //John

我对对象真的很陌生,我也尝试了一些奇怪的东西,比如window.[strname],window.[""+strname+""]window.["'"+strname+"'"]没有结果。

如何通过将名称作为字符串传递来创建全局变量?

4

1 回答 1

4

在 createGlobal 中试试这个:

window[strname] = {name:"John", age:27};
于 2013-06-19T22:46:33.293 回答