声明前置

作者: 辉夜乀 | 来源:发表于2017-04-06 20:29 被阅读31次

    变量的声明前置

    var创建变量,声明会前置

    console.log(a)
    var a=1
    
    等同于
    var a
    console.log(a)
    a=1
    //输出 undefined,因为变量 a 的申明前置了,没有赋值就是 undefined
    

    如果上面没用 var 声明变量,直接使用就是会报错

    console.log(x)
    x=1      // Uncaught ReferenceError: x is not defined
             //因为变量 x 没有声明
    

    函数的声明前置

    function声明函数,函数声明会前置

    hello()
    function hello() {
      console.log('world')
    }
    //输出 world ,不会报错,因为 function 声明会前置
    

    如果用函数表达式,则会报错

    Hello()
    var Hello = function() {
      console.log('World')
    }
    // Uncaught TypeError: Hello is not a function
    // 因为var构造函数表达式,函数的声明不会前置
    // 调用一个没有声明的函数,就报错了
    

    相关文章

      网友评论

        本文标题:声明前置

        本文链接:https://www.haomeiwen.com/subject/scaqattx.html