在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.局部变量只能在函数内使用,函数外不可使用。如需转载请保留本文出处: https://www.zhe94.com/669.html