0

当我浏览一些 JS 代码时,我找到了代码。

示例代码:

arg = "TEST ALERT MESSAGE";
MyFunction(arg);

function MyFunction()
{
alert(arg)
}

上面的 MyFunction() 给出了警报消息,但是没有参数来接收传入的参数。

但是,当我更改“arg”变量(在函数中和函数“arg”之外)时,它不起作用。

怎么可能?

提前致谢

4

1 回答 1

1

javascript 中的变量范围并不像您想象的那样工作。为了使该变量“私有”,请尝试:

var arg = "not private";
function privateMSG(){
var arg = "private";
  function alerter(){
  alert(arg);
 }
  alerter();
}

MDN在嵌套函数和闭包部分有更好的解释

于 2013-06-13T06:03:17.827 回答