JavaScript 作用域
作用域是可访问变量的集合,能够定义全局作用域或者局部作用域。
全局作用域:变量在函数外定义,即为全局变量。
局部变量:变量在函数内声明,即为局部变量。
变量作用域
例: var x=1;
function test(){
document.write('函数体内x的值为:'+x+'<br/>'); 注:undefined,x值取下面的,但是取不到值
var x=19;
document.write('函数体内对x重新赋值,此时x的值为:'+x+'<br/>'); //19
}
document.write('函数体外x的值为:'+x+'<br/>'); //1
test();
document.write('x的值为:'+x+'<br/>'); //1
document.write('<hr color="red"/>');
全局变量和局部变量的区别
1. 如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
2. 局部变量在函数执行完毕后销毁。全局变量在页面关闭后销毁。
3. 局部变量:只能在函数内部访问。
全局变量有 全局作用域: 网页中所有脚本和函数均可使用。
var x=1,y=2;
function calc(x,y){
document.write('a的值为'+a+'<br/>');//undefined
document.write('函数体内x的值为:'+x+'<br/>'); //1
document.write('函数体内y的值为:'+y+'<br/>'); //2
var x=0,y=12;
z=x+y;
x=x+y;
var a=20;
document.write('a的值为:'+a+'<br/>'); //20
document.write('x的值为:'+x+'<br/>'); //12
return z;
}
alert(calc(x,y)); //12
//alert(x+'-'+y+'-'+z);