20-理解变量作用域
3.7 理解变量作用域
在JavaScript应用程序中添加条件、函数和循环时,必须理解变量作用域。变量作用域的含义是:在当前执行的代码行中,特定变量名的值是什么?
在JavaScript中,可定义变量的全局版和局部版。在主JavaScript中定义的是变量的全局版,而在函数内部定义的是变量的局部版。在函数中定义局部版时,将在内存中创建一个新变量。在这个函数内,引用的是局部版;在这个函数外部,引用的是全局版。
为更好地理解变量作用域,请看下面的代码:
01 var myVar = 1;
02 function writeIt(){
03 var myVar = 2;
04 print("Variable = " + myVar);
05 writeMore();
06 }
07 function writeMore(){
08 print("Variable = " + myVar);
09 }
10 writeIt();
第1行定义了全局变量myVar;接下来第3行在函数writeIt()内部定义了该变量的局部版,因此,第4行在控制台中显示的是Variable = 2。接下来,第5行调用了函数writeMore();由于在函数writeMore()中没有定义变量myVar的局部版,因此第8行写入到控制台的是全局变量myVar的值。