全网整合营销服务商

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

免费咨询热线: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中变量的作用域详解  # 全局变量  # 体内  # 就能  # 体外  # 四行  # 还没有  # 很有  # 均为  # 我认为  # 可以直接  # 可供  # 要得  # 说明了  # 即为  # 过程中  # 应该是  # 实现了  # 一个函数  # 行输出  # 只能在 


相关文章: 如何选择适配移动端的WAP自助建站平台?  网站制作员失业,怎样查看自己网站的注册者?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  建站之星收费标准详解:套餐费用及年费价格表一览  红河网站制作公司,红河事业单位身份证如何上传?  如何在万网ECS上快速搭建专属网站?  如何快速查询网站的真实建站时间?  制作门户网站的参考文献在哪,小说网站怎么建立?  全景视频制作网站有哪些,全景图怎么做成网页?  建站之星免费版是否永久可用?  音乐网站服务器如何优化API响应速度?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何在VPS电脑上快速搭建网站?  行程制作网站有哪些,第三方机票电子行程单怎么开?  Python lxml的etree和ElementTree有什么区别  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  常州自助建站工具推荐:低成本搭建与模板选择技巧  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  非常酷的网站设计制作软件,酷培ai教育官方网站?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  淘宝制作网站有哪些,淘宝网官网主页?  网站微信制作软件,如何制作微信链接?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  定制建站流程步骤详解:一站式方案设计与开发指南  魔方云NAT建站如何实现端口转发?  建站之星导航如何优化提升用户体验?  如何选择高效响应式自助建站源码系统?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  制作网站外包平台,自动化接单网站有哪些?  建站之星如何实现五合一智能建站与营销推广?  如何快速生成凡客建站的专业级图册?  建站为何优先选择香港服务器?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  制作网页的网站有哪些,电脑上怎么做网页?  Swift中switch语句区间和元组模式匹配  如何通过建站之星自助学习解决操作问题?  ,在苏州找工作,上哪个网站比较好?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  建站之星如何优化SEO以实现高效排名?  建站之星代理如何获取技术支持?  如何在云主机上快速搭建网站?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何用景安虚拟主机手机版绑定域名建站?  清除minerd进程的简单方法  网站好制作吗知乎,网站开发好学吗?有什么技巧?  建站之星安装需要哪些步骤及注意事项?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  如何用虚拟主机快速搭建网站?详细步骤解析  香港服务器网站推广:SEO优化与外贸独立站搭建策略  ,巨量百应是干嘛的? 

您的项目需求

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