局部变量 与 全局变量
变量有两种作用范围,一个在函数外,一个在函数内。比如:公共卫生间,大家都可以用,家里的卫生间是私有的
变量的作用域
- 变量的作用域是指哪个范围内能访问到这个变量
- 在函数体内声明的变量称为局部变量,仅在函数体内可以使用
- 全局变量又称为外部变量,定义在函数体外,对全局可见
function home(){ var wc = "我是家里的卫生间"; //局部变量 alert(wc); } alert(wc); //出错,函数体外对变量wc不可见 //home();
在函数体内部,局部变量的优先级比同名的全局变量优先级高
var wc = "我是全局变量"; function home(){ var wc = "我是局部变量"; alert(wc); } home(); //结果为:"我是局部变量"
【典型错误】不使用var声明的变量也是全局变量
wc = "我是公共厕所"
function home(){
var wc = "我是私家厕所"
}
alert(wc);
*注意:我们规定变量必须使用var声明
使用场景
- 能使用局部变量就不要使用全局变量
- 需要保留状态时使用全局变量
- 全局变量可以解决数据反复赋值的问题