声明一个变量

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

声明提前(变量提升)

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

变量重复声明

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