全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS变量及其作用域

1、 变量及其作用域:变量分为“全局变量”和“局部变量”,“全局变量”申明在函数外部,可供所有函数使用,而“局部变量”申明在函数体内部,只能在定义该变量的函数体内使用。

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

<script type="text/javascript">
  function main() {  
    n = 10;//这里的n为全局变量,可以被外部直接使用
  }
  main();
  alert(n);
</script>

2、 在函数体内,局部变量的优先级高于全局变量。

<script type="text/javascript">
  //网上看到的我认为很有代表性的一个例子,在函数体外部和内部都申明了相同名字的变量,变量的作用域问题,例子如下:
  var n = 1;
  function test() {
    alert(n); //这里的a并不是全局变量,原因是函数体第四行申明了一个相同重名的局部变
         //量a,如果把第四行a的申明注释掉,那么这里的a显示1,为全局变量。所以得
         //出结论:全局变量a被局部变量a覆盖了。
         //说明了JS函数在test()在执行前,函数体内的变量a都指向了局部变量,但本
         //行输出的a在执行过程中还没有被赋值,所以显示undefined。
    n = 2;
    alert(n);
    var n; //本行申明局部变量a
    alert(n);
  }
    test();
    alert(n);
</script>

按照我的理解,上面例子最后输出的答案应该是:1 2 2 1;但是正确的答案是:undefined 2 2 1; 原因就是函数体外部和内部都申明了相同名字的变量时,局部变量覆盖了全局变量。

3、 外部怎么读取函数体内部的局部变量呢?

一般来说,只有函数体内部可以直接得到外部的全局变量,但是外部要得到函数体内部的局部变量是不行的。但是,通过在函数体内部再定义一个函数返回局部变量,再从外部调用函数就能实现了。

<script type="text/javascript">
  function f1() {    
    var n = 10;    
    function f2() {//在f1()内部再定义f2(),通过f2()访问f1()中的局部变量      
      alert(n);    
    }    
    return f2;//返回f1()局部变量n
  }  
  var result = f1(); //在外部调用f1()函数,就能获取局部变量n的值
  result(); // 10,即为n的值
</script>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js变量  # js  # 变量作用域  # JavaScript高级程序设计之变量与作用域  # JS中作用域以及变量范围分析  # JavaScript变量作用域及内存问题实例分析  # JS块级作用域和私有变量实例分析  # JavaScript变量类型以及变量作用域详解  # javascript 的变量、作用域和内存问题  # js 作用域和变量详解  # 关于JS变量和作用域详解  # JavaScript变量的作用域全解析  # JavaScript 变量、作用域及内存  # JavaScript中的变量作用域介绍  # js变量、作用域及内存详解  # 深入解析JavaScript中的变量作用域  # Javascript变量作用域详解  # JavaScript中变量的作用域详解  # 全局变量  # 体内  # 就能  # 体外  # 四行  # 还没有  # 很有  # 均为  # 我认为  # 可以直接  # 可供  # 要得  # 说明了  # 即为  # 过程中  # 应该是  # 实现了  # 一个函数  # 行输出  # 只能在 


相关文章: 如何零基础在云服务器搭建WordPress站点?  网站制作壁纸教程视频,电脑壁纸网站?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  nginx修改上传文件大小限制的方法  如何通过WDCP绑定主域名及创建子域名站点?  如何快速生成可下载的建站源码工具?  制作网站的基本流程,设计网站的软件是什么?  网站制作话术技巧,网站推广做的好怎么话术?  常州企业建站如何选择最佳模板?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  c# 服务器GC和工作站GC的区别和设置  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何实现建站之星域名转发设置?  如何快速辨别茅台真假?关键步骤解析  如何使用Golang table-driven基准测试_多组数据测量函数效率  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  招商网站制作流程,网站招商广告语?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  深入理解Android中的xmlns:tools属性  浅析上传头像示例及其注意事项  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  魔方云NAT建站如何实现端口转发?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  定制建站方案优化指南:企业官网开发与建站费用解析  建站之星后台密码遗忘?如何快速找回?  建站之星免费版是否永久可用?  建站之星导航配置指南:自助建站与SEO优化全解析  导航网站建站方案与优化指南:一站式高效搭建技巧解析  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  如何快速搭建高效简练网站?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  建站之星代理平台如何选择最佳方案?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  如何选择建站程序?包含哪些必备功能与类型?  南宁网站建设制作定制,南宁网站建设可以定制吗?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何选购建站域名与空间?自助平台全解析  建站主机服务器选型指南与性能优化方案解析  如何通过VPS建站无需域名直接访问?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。