变量的概念

变量其实就是内存中的一块存储区域,声明定义了一个变量就是在内存开辟了一块空间,用来存储数据。变量名实际就对应这块空间的地址。

变量声明

  1. var a; //定义一个变量
  2. var a,b; //定义多个变量,中间用逗号运算符分隔
  3. var a = 0; //定义的同时初始化 这个等价于 var a; a = 0;
  4. var a = 0, b = 1;

变量用var关键字重复声明不会报错,但是会覆盖前面的同名变量。不单单要注意变量与变量的重名,还要注意变量与函数,函数与函数的重名。
没有以var关键字定义的变量,在任何位置都是全局变量,不建议故意不写var去定义一个全局变量。
遗漏的声明:a = 100;
alert( a );

报错:alert( a );

变量声明提前

  1. console.log(a);
  2. var a; //弹出undefined
  3. console.log(a);
  4. var a = 5; //弹出undefined 只是声明提前 赋值不提前

变量作用域

  1. // 不包含在任何函数内部的代码叫顶层代码,定义在顶层代码中的变量就是全局变量。定义在函数中的变量,就是局部变量。
  2. function test() {
  3. var a = 5;
  4. }
  5. test();
  6. console.log(a); //报错 a是test函数里面的局部变量 外面不能直接访问
  7. function abc() {
  8. var b = 6;
  9. function test() {
  10. console.log(b);
  11. }
  12. test();
  13. };
  14. abc();
  15. console.log(b); //先输出6 然后报错