当我浏览一些 JS 代码时,我找到了代码。
示例代码:
arg = "TEST ALERT MESSAGE";
MyFunction(arg);
function MyFunction()
{
alert(arg)
}
上面的 MyFunction() 给出了警报消息,但是没有参数来接收传入的参数。
但是,当我更改“arg”变量(在函数中和函数“arg”之外)时,它不起作用。
怎么可能?
提前致谢
当我浏览一些 JS 代码时,我找到了代码。
示例代码:
arg = "TEST ALERT MESSAGE";
MyFunction(arg);
function MyFunction()
{
alert(arg)
}
上面的 MyFunction() 给出了警报消息,但是没有参数来接收传入的参数。
但是,当我更改“arg”变量(在函数中和函数“arg”之外)时,它不起作用。
怎么可能?
提前致谢
javascript 中的变量范围并不像您想象的那样工作。为了使该变量“私有”,请尝试:
var arg = "not private";
function privateMSG(){
var arg = "private";
function alerter(){
alert(arg);
}
alerter();
}
MDN在嵌套函数和闭包部分有更好的解释