定義:變量可以使用的範圍稱爲變量的做用域。函數
函數外部聲明的變量稱爲‘全局’變量,直接保存在window中,具備‘全局做用域’;可重複使用,隨處可用。code
Actived Object(AO 活動對象)
函數內部聲明的變量稱爲‘局部’變量,僅在函數內部可用,具備‘局部做用域’;函數做用域僅在函數調用時存在,調用後自動釋放。對象
調用函數時,若是函數內部沒有聲明變量,可直接使用全局變量。優先使用函數內部的變量。作用域
函數有兩種方式聲明變量,一是參數變量,二是函數內部以var開頭聲明的變量。io
注:局部變量和全局變量能夠使用同一名稱,但其本質是不一樣的兩個變量。console
如:function
var a=10,b=20; //聲明兩個全局變量a,b function vars(){ var a=30; //聲明一個函數內局部變量a b=40; //修改全局變量b的值 console.log("變量a="+a+",變量b="+b) } vars(); console.log("變量a="+a+"\n變量b="+b);
解析:函數vars()
操縱了兩個變量a,b,a是在函數內定義的,是一個局部變量,具備局部做用域,僅存在與函數內部,與開始定義的a徹底不一樣。class
要注意的是,變量b不是在函數內部定義的,而是一個全局變量,函數內部只是修改了變量b的值,具備全局做用域。變量
所以上面一段代碼的打印結果爲:co
變量a=30,變量b=40
變量a=10,變量b=40