-
变量的作用域变量的作用域是指变量在何处可以被访问到。
比如:function foo()
{ var bar;}
这里的 bar 的直接作用域是函数作用域foo(); -
词法作用域JavaScript 中的变量都是有静态(词法)作用域的,因此一个程序的静态结构就决定了一个变量的作用域,这个作用域不会被函数的位置改变而改变。
-
嵌套作用域如果一个变量的直接作用域中嵌套了多个作用域,那么这个变量在所有的这些作用域中都可以被访问:
function foo (arg)
{ function bar()
{ console.log( ‘arg:’ + arg );
} bar();}console.log(foo(‘hello’));
// arg:helloarg的直接作用域是foo(),
但是它同样可以在嵌套的作用域bar()中被访问,foo()是外部的作用域,bar()是内部作用域。