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

    作用域链。

    

原文地址:https://www.cnblogs.com/zawjdbb/p/6253484.html