首页 > 代码库 > JavaScript全局变量与局部变量

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);  //输出undefined4    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);  //输出undefined4    if(1==1){5     var i = 1;6    i++;}7    console.log(i);  //输出2;8 };
View Code

 

  

    

JavaScript全局变量与局部变量