一、声明提前

在JS代码执行过程中,会将所有声明的代码放在顶层集中创建,赋值留在原地
tips:使用function函数声明的函数会携带函数体提前创建

  1. var a = 100;
  2. function bar(){
  3. console.log(a)
  4. if(!a){
  5. var a = 20;
  6. }
  7. console.log(a)
  8. }
  9. bar()
  10. //undefined
  11. //20
  12. Tip:{}里面为一个作用域

image.png