我在JavaScript中很新,我对变量范围有一些疑问。JavaScript变量作用域究竟如何工作?
所以我tryed执行此示例:
function outer() {
alert("INTO outer()");
var val1 = 1;
inner();
alert(val2);
}
function inner() {
alert("INTO inner()");
val2 = 2;
}
outer();
在这个简单的例子中,外()功能是执行,在该函数I调用内()函数声明和初始化val2变量。然后回到outer()函数,并从这里访问并打印val2的值。
因此,在Javascript中,我可以从外部函数访问在内部函数中定义的变量,但我无法从内部函数访问在外部函数中声明的变量。
这是真的吗?如果这是真的,为什么选择?