我在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中,我可以從外部函數訪問在內部函數中定義的變量,但我無法從內部函數訪問在外部函數中聲明的變量。
這是真的嗎?如果這是真的,爲什麼選擇?