"全局變量":申明在函數之外的變量
"局部變量":申明在函數體中的變量,並且只能在當前函數體內訪問,如:function(){var a = 0;}
注:在申明變量是凡是沒有var關鍵字,而直接賦值的變量均爲全局變量
1.
function test() {
a = 30;
var b = 20;
}
test();
console.log("a="+a); //這裏很明顯,a爲全局變量
console.log("b="+b);//b爲局部變量,故在函數test外調用是,提示未定義
2.
var a = 1;
function test() {
console.log("a="+a);
/*函數中聲明的變量在整個函數中都有定義。如果函數內部有定義變量,即使在定義之前輸出但會先執行後面定義語句,然後判斷輸出結果,所以說聲明的變量在整個函數中都是起作用的。*/
var a = 2;
}
test();<pre name="code" class="html">//這裏a爲undefined
3.
var a; function fun() { a = "global"; }
console.log(a);//輸出undefined
var a; function fun() { a = "global"; }
fun();
console.log(a);//輸出 global
4 函數域優先於全局域,故局部變量a會覆蓋掉全局變量a
var a=1;
function main(){
var a=2;//局部變量
console.log(a);//2
}
main();
console.log(a);//1