一旦你开始在JavaScript应用程序中添加条件、函数和循环,就需要理解变量作用域。变量作用域规定了如何确定正在执行的代码行上的一个特定变量名的值。
JavaScript允许你既定义全局版本又定义局部版本的变量。全局版本在主JavaScript定义,而局部版本在函数中定义。当你在函数中定义局部版本时,就在内存中创建一个新的变量。在这个函数中,将引用局部版本。在函数之外,你引用的是全局版本。
在JavaScript中定义全局变量和局部变量
var myVar = 1;
function writeIt(){
var myVar = 2;
console.log("Variable = " + myVar);
writeMore();
}
function writeMore(){
console.log("Variable = " + myVar);
}
writeIt();
运行结果为:
Variable = 2
Variable = 1
全局变量myVar是在第一行定义的,而本地版本的myVar是在第三行定义的,它位于writeIt()函数中。第四行写"Variable = 2"到控制台。然后在第五行,writeMore()被调用。由于在writeMore()中不存在myVar的任何局部版本定义,所以全局myVar的值在第九行被写出。