js基础 全局变量和局部变量的理解

全局变量:在整个程序中都可以使用的变量
局部变量:只能在函数中使用的变量

在js中全局变量分为显示声明和隐式声明

第一种声明方式:使用var关键字+变量名函数外部声明就是全局变量,例如:

var bianliang = "全局变量";

第二种声明方式:没有使用var关键字声明,直接给变量名赋值,不管是在函数内部还是外部都是全局变量,例如:

text = "全局变量";
function bl(){
    text1 = "我也是全局变量";
    var text2 = "我是局部变量";
    document.write(text2);//局部变量只能在函数中使用
}
bl()
document.write(text+"
"); document.write(text1+"
"); //document.write(text2);//这个会报错

第三种声明方式: 使用window全局对象来声明,全局对象的属性对应也是全局变量,例如:

window.test3 = 'window全局对象声明全局变量'; 
document.write(test3);//window全局对象声明全局变量 

在js函数中局部变量优先于全局变量,例如:

var text4 = 5;
function bl2(){
    var text4 = 45;
    document.write(text4);//这里输出的是45
}
bl2()

由于js是从上往下依次运行的,所以在函数中调用局部变量需要写在声明局部变量的下方,如果调用局部变量写在声明局部变量的上方就是undefined:例如

function bl3(){
    console.log(text5);//输出为undefined
    var text5 = 10;
}
bl3()

需要记住的是:
        1.函数中局部变量优先全局变量。

        2.在函数中没有 var 声明的变量是全局变量。

        3.局部变量只能在函数内使用,函数外不可使用。

你可能感兴趣的:(js)