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

标签 javascript global-variables

我刚读到“Define global variable in a JavaScript function”,我想尝试做同样的事情,但这次传递一个字符串作为全局变量名。

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+"'"] 没有结果。

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

最佳答案

在 createGlobal 中试试这个:

window[strname] = {name:"John", age:27};

关于javascript - 如何通过将其名称作为字符串传递来创建全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17202610/

相关文章:

javascript - 在 Javascript 函数中组织 HTML

javascript - 具有 close 的库无法根据其构造函数创建新对象

c++ - 源文件中未公开的私有(private)成员变量与全局变量

c++ - 多文件访问单例类

java - 为什么 BroadcastReceiver 不更改应用程序中的全局变量

javascript - 在javascript中单击另一个按钮后激活按钮

javascript - 这是从带有对象的数组创建列表的正确方法吗?

javascript - 如何在 Meteor/React 中打开和关闭 Material-UI 对话框?

c - 在文件范围内声明矩阵,来自用户输入的维度? C

c++-cli - 托管类型的全局对象