JavaScript的做用域指的是變量的做用範圍,內部做用域由函數的形參,實參,局部變量,函數構成,內部做用域和外部的做用域一層層的連接起來造成做用域鏈,當在在函數內部要訪問一個變量的時候,首先查找本身的內部做用域有沒有這個變量,若是沒有就到這個對象的原型對象中去查找,仍是沒有的話,就到該做用域所在的做用域中找,直到到window所在的做用域,每一個函數在聲明的時候就默認有一個外部做用域的存在了,代碼以下:函數
var t=4; function aa(){ var num1=12; funciton bb(){ var num2=34; console.log(t+" "+num1+" "+num2); //函數訪問變量t時,先去查找函數內部做用域,發現沒有,再去查找函數Prototype,也沒有,再去函數aa所在做用域查找。 } }