Javascript 函数能否接受参数并将其声明为全局变量?

Javascript 函数能否接受参数并将其声明为全局变量?,javascript,scope,Javascript,Scope,在JavaCScript中,函数是否可以接受参数并将其声明为全局变量?例如,我知道这是行不通的,但我只是好奇是否有其他可行的方法: function newVar(n){ n = "I'm a global variable"; } newVar("workPls"); console.log(workPls); //Error: workPls is not defined 也许你可以利用退货 function newVar(){ return "I'm a global va

在JavaCScript中,函数是否可以接受参数并将其声明为全局变量?例如,我知道这是行不通的,但我只是好奇是否有其他可行的方法:

function newVar(n){
  n = "I'm a global variable"; 
}

newVar("workPls");
console.log(workPls);  //Error: workPls is not defined

也许你可以利用退货

function newVar(){
  return "I'm a global variable"; 
}

var workPls=newVar();
console.log(workPls);

不推荐,但您可以执行以下操作:

function newVar(n){
    window[n] = "I'm a global variable"; 
}

newVar("workPls");
console.log(workPls);  // "I'm a global variable"

详细说明:
window
是全局对象,该对象的每个属性都是全局变量。@FelixKling,也可以不调用object.variable而仅访问变量。对于服务器端Javascript(例如
节点
),全局对象的名称为
全局
,而不是
window
(因为那里没有窗户)。谢谢,这是一个非常有趣的方法,参数名应该从哪里获得?如果我理解你的意思,你将传递名称,函数将赋值?你理解正确,Joraid。这不起作用,因为我试图使参数成为变量的名称:/Yes,但是这段代码仍然使用你的CHO分配一个新变量因此,在本例中,您将得到相同的结果(变量workPls存在,值为字符串“I'm a global variable”)-