虽然我浏览了一些JS代码,但我找到了代码。没有参数的JS函数正在工作。怎么样?
示例代码:
arg = "TEST ALERT MESSAGE";
MyFunction(arg);
function MyFunction()
{
alert(arg)
}
以上MyFunction的()被给予警告消息,但没有参数来接收传入的arugment。
但是当我改变'arg'变量(在函数中,在函数'arg'外),它不起作用。
怎么可能?
在此先感谢
虽然我浏览了一些JS代码,但我找到了代码。没有参数的JS函数正在工作。怎么样?
示例代码:
arg = "TEST ALERT MESSAGE";
MyFunction(arg);
function MyFunction()
{
alert(arg)
}
以上MyFunction的()被给予警告消息,但没有参数来接收传入的arugment。
但是当我改变'arg'变量(在函数中,在函数'arg'外),它不起作用。
怎么可能?
在此先感谢
JavaScript中的变量作用域不符合您的想法。 为了使该变量“私人”的尝试:
var arg = "not private";
function privateMSG(){
var arg = "private";
function alerter(){
alert(arg);
}
alerter();
}
在嵌套函数和闭包MDN has a much better explanation部分
如果'MyFunction'没有arg'的'本地版本,它会尝试在外部范围内引用一个名为'arg'的属性。否则你会得到'未定义'。 – Marty
没有任何预定义参数的函数仍然可以接受参数,它们是动态的,可以通过'arguments'伪数组访问。 – elclanrs