局部变量 与 全局变量

变量有两种作用范围,一个在函数外,一个在函数内。比如:公共卫生间,大家都可以用,家里的卫生间是私有的


变量的作用域

  • 变量的作用域是指哪个范围内能访问到这个变量
  • 在函数体内声明的变量称为局部变量,仅在函数体内可以使用
  • 全局变量又称为外部变量,定义在函数体外,对全局可见
  • 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声明


使用场景

  • 能使用局部变量就不要使用全局变量
  • 需要保留状态时使用全局变量
  • 全局变量可以解决数据反复赋值的问题

results matching ""

    No results matching ""