1-1

  1. var a=10;
  2. var b;
  3. console.log(a);//10
  4. console.log(b);//undefined 声明一个变量不赋值,输出undefined

1-2声明提前

  1. /* 声明提前
  2. js在执行代码的时候,会将所有使用var声明的变量,放置在作用域的顶层集中创建,
  3. 赋值会留在原地
  4. */
  5. console.log(a);//undefined
  6. var a=10;
  7. var b=20;
  8. 实际:
  9. var a,b;
  10. console.log(a);
  11. var a=10;
  12. var b=20;

1-3 声明提前

  1. var a = 10;
  2. var a = 20;
  3. console.log(a); // 输出20