js变量作用域

144 阅读1分钟

引用一个“未被定义”的变量

console.log(a); // => Uncaught ReferenceError: a is not defined

引用一个“已被定义”的变量

1 全局变量(全局变量在整个js代码中都是有定义的

console.log(global); // => undefined
var global = "global"
console.log(global); // => "global"

2 局部变量(局部变量在定义它的函数体内都是有定义的,包括嵌套函数)

console.log(global); // => undefined
var global = "global"
function f(){
	console.log(local); // => undefined
	var local="local";
	console.log(local); // => "local"
}
f()
console.log(global); // => "global"

何为“变量作用域”

程序源代码中定义这个变量的区域(从上到下,从头到尾,该区域的每一条语句都能访问到该变量)