一个变量的作用域(scope)是程序源代码中定义这个变量的区域。
全局变量拥有全局作用域,在JavaScript代码中的任何地方都是有定义的。
然而在函数内声明的变量只在函数体内有定义,它们是局部变量,作用域是局部性的。
函数参数也是局部变量,它们只在函数体内有定义。
在函数体内,局部变量优先级高于同名的全局变量。
如果在函数内声明的一个局部变量或者函数参数中带有的变量和全局变量重名,那么全局变量就被局部变量所遮盖。
var scope = "global" //声明一个全局变量
function checkscope(){
var scope ="local" //声明一个同名的局部变量
return scope //返回局部变量的值,而不是全局变量的值
}
checkscope(); // =>"local"
尽管在全局作用域编写代码时可以不写var语句,单声明局部变量时则必须使用var语句。