• 关于网站
  • 风
  • 物
  • 情
首页跳过导航链接 > 社区   欢迎光临!   社区
js变量及其作用域
作者:admin   来源:编辑   日期:2020-08-26 08:45:49   浏览次数:434

js变量及其作用域

Javascript和Java、C这些语言不同,它是一种无类型、弱检测的语言。它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量。

js变量作用域可分为:"全局变量"和"局部变量"

"全局变量":申明在函数之外的变量

"局部变量":申明在函数体中的变量,并且只能在当前函数体内访问,如:function(){var a = 0;}

注:在声明变量时凡是没有var关键字,而直接赋值的变量均为全局变量

下面就通过几道小例子来熟悉下:

1、function test() {  

           a = 30; 

          var b = 20;

     }

 test();

 console.log("a="+a); //这里很明显,a为全局变量

 console.log("b="+b);//b为局部变量,故在函数test外调用是,提示未定义

2、 var a = 1;

function test() {  

          console.log("a="+a); //这里a为undefined

          var a = 2;

/*函数中声明的变量在整个函数中都有定义。如果函数内部有定义变量,即使在定义之前输出但会先执行后面定义语句,然后判断输出结果,所以说声明的变量在整个函数中都是起作用的。*/

     }

 test();

3、给两个小例子作为对比:

var a; function fun() { a = "global"; } console.log(a);//输出undefined 

var a; function fun() { a = "global"; } 

fun();console.log(a);//输出 global

对于上面这两个小例子,它们唯一的区别就是一个执行了fun函数,一个没有执行;

如果就是

var a;console.log(a);//由于a只定义,但没初始化,故输出undefined 

而function fun(){...}中对a进行初始化,初始化操作是在fun函数作用域内,如果不执行fun()那么初始化操作也不会执行。

4、函数域优先于全局域,故局部变量a会覆盖掉全局变量a

    var a=1;

    function main(){

        var a=2;//局部变量

        console.log(a);//2

    } 

   main();

   console.log(a);//1

5、javascript没有块级作用域

function test(){

   for(var i = 0 ; i < 3 ; i++){

          //i=0,1,2,最后执行到i=3时退出循环

   }

   console.log(i);//3

}

test();

相当于

function test(){

 var i;

   for(i = 0; i < 3; i++){

          //i=0,1,2,最后执行到i=3时退出循环

   }

   console.log(i);//3

}

test();

另,附根据名字获取全局变量:

var obj=window[“name”];

第1页 共1页  首页 | 前一页 |
[1] 
|下一页| 尾页
其他链接
   
  社区
  动态
  诗文作
  风
  物
  情
  志
  景色欣赏
  链接更多
 
 

 

 

 

友情链接


搜狐、网易、新浪、赶集

     

 


 

==区域链接==
国家工商总局
财政部
国家发改委
统计局
建设部
中国地质调查
中国科学院
 
如果喜欢,看着好,可以给予资助,资助资金用于网站的建设和发展,主办者认为的一切有益于网站事业发展的事情,主办者不受资助者和资金的约束。主办者制定严格的财务制度,资助者可留姓名或字号,主办者根据情况向相关的资助者汇报网站建设发展或财务情况。
 
 
资助账号: 621226020008
  9191221
   
资助说明  
您是本站第188802位访问者!
 
Copyright © 2021 北京河区网络信息技术有限公司 All Rights Reserved. 京ICP备19023346号.
访问量:188802次
Email: webmaster11@163.com

 

中华人民共和国