引用一个“未被定义”的变量
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"
何为“变量作用域”
程序源代码中定义这个变量的区域(从上到下,从头到尾,该区域的每一条语句都能访问到该变量)