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