每天 10 分钟,学习 JavaScript —— (十三)变量提升与函数提升

158 阅读1分钟

变量声明提升

  • 通过 var 定义(声明)的变量,在定义语句之前就可以访问到
  • 值: undefined
      console.log(a) // undefined
      var a = 4

函数声明提升

  • 通过 function 声明的函数,在之前就可以直接调用
  • 值:函数定义(对象)
    fn()
    function fn() {
      console.log('fn()') // fn()
    }

问题与思考

  • 输出什么内容 ?
    var a = 3
    function fn() {
      console.log(a) // undefined
      var a = 4
    }
    fn()
  • 输出什么内容 ?
    fn() // 无法调用,通过 function 声明的函数,在之前才可以直接调用
    var fn = function () {
      console.log('fn')
    }