JavaScript全局变量与局部变量

局部变量:

  函数内声明的变量、函数参数是局部变量

函数嵌套:

  每个函数都有自己作用域,会出现局部作用域嵌套情况

 
1 var test = "publice";     //全局变量
2 function fun1(){
3     var test = "private1";  //局部变量
4         function fun2(){
5             var test = "private2";  //嵌套作用域内的局部变量
6        };
7 };    
View Code

优先级别:

  在函数体内,局部变量高于全局变量,换句话说,在函数体内局部变量会覆盖全局变量

声明提前:

  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 };  
View Code

   等价于:

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 };
View Code

 

  

    

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。