无法从外部访问自执行匿名函数内部的变量,但是为什么可以从外部访问var q ,为什么不能从外部访问var p >
(function(){
var p = q = 20;
})()
alert(q) --> 10
alert(p) --> p is undefined is the result im getting,
答案 0 :(得分:2)
在匿名函数中定义的变量将无法在外部访问。但是,在您的示例中,您将变量 p 设置为范围变量,并将 q 设置为全局变量。您在这里寻找正确的方法是:
var p;
var q;
p = q = 20;
答案 1 :(得分:2)
为避免全局变量,您需要在每个变量名称之前添加WAComponent
,#children
或var
。如果省略这些关键字,则变量以全局开始。在您的情况下,q是全局的