iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >javascript的块级作用域有什么作用
  • 406
分享到

javascript的块级作用域有什么作用

2024-04-02 19:04:59 406人浏览 独家记忆
摘要

今天小编给大家分享一下javascript的块级作用域有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我

今天小编给大家分享一下javascript的块级作用域有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

块级作用域的作用:解决由于过多全局变量和函数产生的命名冲突。JavaScript会对重复的声明视而不见,从而导致运行结果出错,而块级作用域就可以解决这个问题,让每个开发人员可以使用自己的变量,而不用担心搞乱全局作用域。

教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

什么是块级作用域?

任何一对花括号({和})中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为块级作用域,例如for、while、if

而JavaScript不具有块级作用域(在es6标准出来之前,javascript是不存在块级作用域的),即在javascript的代码块中定义一个变量,在该代码块外面仍可使用该变量,例如:

<script type="text/javascript">  
   var i=1;  
     if(i==1){  
        var b=2;  
     }  
   alert(b);//输出2  

   function outputNumbers(count){
       for(vari=0;i<count;i++){
           alert(i);
       }
           alert(i); //计数
    } 
</script>

在Java、c++等语言中,变量i只会在for循环的语句块中有定义,循环一旦结束,变量i就会被销毁。但是在JavaScript中,变量i是定义在outputNumbers()的活动对象中的,因此从它有定义开始,就可以在函数内部随处访问它。

为什么要在JavaScript中实现块级作用域,它有什么用?

块级作用域可以解决由于过多全局变量和函数产生的命名冲突,因为JavaScript会对重复的声明视而不见(不过,它会执行后续声明中的变量初始化),从而导致运行结果出错,而你很可能要花很大的力气才能发现这个错误。

在由一个很多开发人员编写的大型应用程序中,私有作用域的应用可以使得每个开发人员可以使用自己的变量,而不用担心搞乱全局作用域。

JavaScript如何实现块级作用域

虽然js中没有块级作用域,但是可以用闭包/匿名函数来模仿块级作用域。

块级作用域(通常称为私有作用域)的匿名函数的语法如下:

(function(){

  //这里是块级作用域

})();

以上代码定义并立即调用了一个匿名函数。将函数声明包含在一对圆括号中,表示它实际上是一个函数表达式。而紧随其后的另一对圆括号会立即调用这个函数。

一个在JavaScript中利用匿名函数实现块级作用域的例子

function outputNumbers(count){
   (function(){
      for(var i=0;i<count;i++){
          alert(i);
         }
        })();
    alert(i); //导致错误!
   }

例子中,在匿名函数中定义的任何变量,都会在执行结束时被销毁。因此,变量i只能在循环中使用,使用后即被销毁。而在私有作用域中能够访问变量count,是因为这个匿名函数是一个闭包,它能够访问包含作用域中的所有变量。

什么时候可以使用私有作用域

无论在什么地方,只要临时需要一些变量,就可以使用私有作用域

以上就是“javascript的块级作用域有什么作用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网JavaScript频道。

--结束END--

本文标题: javascript的块级作用域有什么作用

本文链接: https://www.lsjlt.com/news/88307.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript的块级作用域有什么作用
    今天小编给大家分享一下javascript的块级作用域有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2022-10-19
  • javascript有块级作用域吗
    这篇文章主要介绍javascript有块级作用域吗,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在JavaScript中,没有块级作用域的概念。在块级语...
    99+
    2022-10-19
  • JavaScript块级作用域怎么用
    今天小编给大家分享一下JavaScript块级作用域怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2022-10-19
  • JavaScript块级作用域的实现原理是什么
    这篇文章主要讲解了“JavaScript块级作用域的实现原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript块级作用域的实现原理是什...
    99+
    2022-10-19
  • JavaScript ES新特性块级作用域
    目录1.块级作用域是什么 2.为什么需要块级作用域 3.与函数声明 前言: 在学习块级作用域之前需要我们对作用域有个了解,所谓的作用域就是代码当中的某个成员起作用的范围。 1.块级作...
    99+
    2022-11-12
  • JavaScript的作用域有什么用
    本篇文章为大家展示了JavaScript的作用域有什么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 作用域的概念现代编程语言的最基本功能之一就是能够存...
    99+
    2022-10-19
  • es6语法有没有块级作用域
    这篇文章主要讲解了“es6语法有没有块级作用域”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6语法有没有块级作用域”吧! e...
    99+
    2022-10-19
  • JavaScript ES新特性块级作用域怎么使用
    这篇文章主要讲解了“JavaScript ES新特性块级作用域怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript ES新特性块级作用域怎么使用”吧...
    99+
    2023-06-21
  • JavaScript块级作用域绑定的实现流程
    目录1.var声明和变量提升2.块级声明和临时死区3.禁止重复声明4.块级作用域绑定的最佳实践1.var声明和变量提升 无论是在函数作用域亦或是全局作用中使用var声明的变量,都会在...
    99+
    2022-12-30
    JavaScript块级作用域绑定 JS作用域绑定
  • JavaScript的作用域链有什么用
    JavaScript的作用域链有什么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JavaScript的作用域链这是一个非常...
    99+
    2022-10-19
  • 怎么理解ES6块级作用域
    这篇文章主要介绍“怎么理解ES6块级作用域”,在日常操作中,相信很多人在怎么理解ES6块级作用域问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解ES6块级作用域”的疑惑...
    99+
    2022-10-19
  • Javascript的作用域和作用域链是什么
    这篇文章主要介绍Javascript的作用域和作用域链是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Javascript 的作用域和作用域链作用域: 作用域是定义变量...
    99+
    2022-10-19
  • 顶级域名绑定有什么作用
    绑定顶级域名的作用:1.可以增加企业资质的可信度;2.可以综合形象的体现企业品牌的价值所在;3.提供优质用户体验感;顶级域名的作用有以下几点用户体验感强使用顶级域名来搭建网站,可以方便用户对网站进行信息查询,从而提供优质用户体验感。可信程度...
    99+
    2022-10-10
  • 什么是JavaScript作用域
    本篇内容介绍了“什么是JavaScript作用域”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在JavaS...
    99+
    2022-10-19
  • ES6中块级作用域的示例分析
    这篇文章给大家分享的是有关ES6中块级作用域的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。varvar声明之函数作用域和全局作用域。来段代码体会一下:function&...
    99+
    2022-10-19
  • JavaScript块级作用域绑定以及状态提升详解
    目录前言作用域/执行上下文var 声明块级声明不声明的变量1. 不使用关键字声明变量2. 使用 var 声明的变量var 声明和块级声明的区别全局作用域绑定状态提升块级绑定的最佳实践...
    99+
    2022-11-13
  • JavaScript中块作用域的示例分析
    这篇文章主要介绍了JavaScript中块作用域的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript 块作用域通过 ...
    99+
    2022-10-19
  • JavaScript作用域链是什么
    本篇内容介绍了“JavaScript作用域链是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!作用域1....
    99+
    2022-10-19
  • javascript中什么是作用域
    这篇文章给大家介绍javascript中什么是作用域,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。2.可以处理表单,检验用...
    99+
    2023-06-14
  • jsp的作用域有什么
    这篇文章将为大家详细讲解有关jsp的作用域有什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 application:在所有应用程序中有效,即只要这个网站运行着,这个...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作