JavaScript全局变量与局部变量
局部变量:
函数内声明的变量、函数参数是局部变量
函数嵌套:
每个函数都有自己作用域,会出现局部作用域嵌套情况
1 var test = "publice"; //全局变量 2 function fun1(){ 3 var test = "private1"; //局部变量 4 function fun2(){ 5 var test = "private2"; //嵌套作用域内的局部变量 6 }; 7 };
优先级别:
在函数体内,局部变量高于全局变量,换句话说,在函数体内局部变量会覆盖全局变量
声明提前:
JavaScript没有块级作用域:JavaScript的函数作用域指在函数内声明的所有变量在函数内始终是可以见的,换句话说,if块中声明的变量var i = 1;,i是 function的局部变量,function内都能访问。
函数内声明的所有变量,都被提前至函数体顶部,示例:
1 var i =20; 2 funtion test(){ 3 console.log(i); //输出undefined 4 var i =1; 5 if(1==1){ 6 i++;} 7 console.log(i); //输出2; 8 };
等价于:
1 var i =20; 2 funtion test(){ 3 console.log(i); //输出undefined 4 if(1==1){ 5 var i = 1; 6 i++;} 7 console.log(i); //输出2; 8 };
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。