1、全局变量可在函数外或是函数内使用;
var a='haha';
function fun(){
//可以在函数中调用变量a
console.log(a);
}
2、局部变量只能在函数内中使用,所以不同函数可以使用重复的变量名;
function fun1(){
var b='xixi';
//只能在函数中调用变量a
console.log(b);
}
//不同函数中可以使用相同的变量名function fun2(b){
//只能在函数中调用变量a
console.log(b);
}
console.log(b);//提示变量b is not defined
3、如果变量在函数中没有使用var声明,那么这个变量可以再函数内或是函数外部可以调用;
fun();function fun(){
b = "xixi";
console.log(b);
};
console.log(b);
变量的生命周期
1、全局变量的生命周期是在页面关闭时结束,它可以被所有脚本或其他函数访问;
2、局部变量的生命周期是在方法执行完之后结束;
注1:变量是在声明时初始化的,函数的参数也是属于局部变量的;
注2:所有的全局变量都是属于window的对象;同时,自定义的全局变量或函数都是可以覆盖window对象的变量或函数;而且在非严格模式下,给没有声明的变量赋值的全局变量,是全局对象的可配置属性,可以使用delete直接删除。因为使用var声明的变量是默认有configuration=false这个默认属性的;