JavaScript的做用域指的是变量的做用范围,内部做用域由函数的形参,实参,局部变量,函数构成,内部做用域和外部的做用域一层层的连接起来造成做用域链,当在在函数内部要访问一个变量的时候,首先查找本身的内部做用域有没有这个变量,若是没有就到这个对象的原型对象中去查找,仍是没有的话,就到该做用域所在的做用域中找,直到到window所在的做用域,每一个函数在声明的时候就默认有一个外部做用域的存在了,代码以下:函数
var t=4; function aa(){ var num1=12; funciton bb(){ var num2=34; console.log(t+" "+num1+" "+num2); //函数访问变量t时,先去查找函数内部做用域,发现没有,再去查找函数Prototype,也没有,再去函数aa所在做用域查找。 } }