1、var 聲明的變量,作用域是當前 function
2、沒有聲明的變量,直接賦值的話, 會自動創建變量,但作用域是全局的.
例如:
function doSth() {
a = "AAA";
}
doSth(); // 執行一次 doSth
alert(a); // 可以看到 "AAA"
function doSth() {
var a = "AAA";
}
doSth(); // 執行一次 doSth
alert(a); //出錯!!! 變量未定義, 因為 doSth 中聲明的變量作用域只是 doSth 函數.