变量的概念
变量其实就是内存中的一块存储区域,声明定义了一个变量就是在内存开辟了一块空间,用来存储数据。变量名实际就对应这块空间的地址。
变量声明
var a; //定义一个变量
var a,b; //定义多个变量,中间用逗号运算符分隔
var a = 0; //定义的同时初始化 这个等价于 var a; a = 0;
var a = 0, b = 1;
变量用var关键字重复声明不会报错,但是会覆盖前面的同名变量。不单单要注意变量与变量的重名,还要注意变量与函数,函数与函数的重名。
没有以var关键字定义的变量,在任何位置都是全局变量,不建议故意不写var去定义一个全局变量。
遗漏的声明:a = 100;
alert( a );
报错:alert( a );
变量声明提前
console.log(a);
var a; //弹出undefined
console.log(a);
var a = 5; //弹出undefined 只是声明提前 赋值不提前
变量作用域
// 不包含在任何函数内部的代码叫顶层代码,定义在顶层代码中的变量就是全局变量。定义在函数中的变量,就是局部变量。
function test() {
var a = 5;
}
test();
console.log(a); //报错 a是test函数里面的局部变量 外面不能直接访问
function abc() {
var b = 6;
function test() {
console.log(b);
}
test();
};
abc();
console.log(b); //先输出6 然后报错