大多数类c的语言,由一对花括号封闭的代码块就是一个作用域.但是javascript的作用域则是通过函数来定义.在一个函数中定义的变量只对这个函数内部可见,我们称为函数作用域. 1.在函数中引用一个变量,javascript会先搜索当前函数作用域,没有找到则搜索上层作用域,一直到全局作用域. ; var f = function(){ console.log(a); ; } f() 你可能预想会输出,但实际上输出的undefined.why?我们可以通过上述的文字描述进行分析,调用f函数,在con…