Javascript 函数能否接受参数并将其声明为全局变量?
在JavaCScript中,函数是否可以接受参数并将其声明为全局变量?例如,我知道这是行不通的,但我只是好奇是否有其他可行的方法: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
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”)-