3.9--3.10
3.9
var声明语句中未给变量指定初始值,则其初始值为undefined。
3.10
在函数体内,局部变量优先级高于同名全局变量。
3.10.1
JS无块级作用域,有函数作用域。
一个函数内,任何地方定义的变量,作用于整个函数,甚至在声明前可用(即声明提前)。
如:
var scope = "global";
function f(){
console.log(scope); ==> undefined(覆盖全局变量但还未初始化)
var scope = "local";
console.log(scope); ==> local
}
即变量声明“提前”至顶部,但初始化位置不变。
3.10.2
声明一个全局变量时,实际上是定义了全局对象的一个属性。
3.10.3
作用域链。