函数声明 和 var声明的优先级

1 function demo() {
2     console.log(5)
3 }
4 var demo = function(){
5     console.log(4)
6 }
7 console.log(demo())   // 4
1 var demo = function(){
2      console.log(4)
3  } 
4 function demo() {
5      console.log(5)
6  }
7  console.log(demo())   // 4

上图俩段代码打印出的结果都是4,可以总结出

  1.   函数声明和变量声明都有提升机制
  2.   函数声明是整体提升的方式,来进行声明的提升
  3.   函数声明赋值要早于函数声明赋值
  4.   函数声明赋值,实在执行上下文的开始阶段进行的
  5.   变量声明赋值,实在执行到赋值语句的时候进行的赋值
原文地址:https://www.cnblogs.com/chailuG/p/10792049.html