理解JavaScript中的作用域

   2025-07-20 admin00100

范围,或确定变量所在位置的一组规则,是任何编程语言的最基本概念之一。事实上,它是如此基本,以至于我们很容易忘记这些规则是多么微妙!

准确理解JavaScript引擎如何“思考”作用域将使您避免编写提升可能导致的常见错误,让您做好准备专注于闭包,并让您离永远不再编写错误更近一步再次。

...无论如何,它会帮助您理解提升和关闭。

在本文中,我们将了解:

立即学习“Java免费学习笔记(深入)”;

  • JavaScript中作用域的基础知识
  • 解释器如何决定哪些变量属于哪个作用域
  • 吊装的实际工作原理
  • ES6关键字let和const如何改变游戏规则

让我们深入探讨。

如果您有兴趣了解有关ES6的更多信息以及如何利用语法和功能来改进和简化JavaScript代码,为什么不看看这两门课程:

词法范围

如果您之前编写过一行JavaScript,您就会知道定义变量的位置决定了您可以使用的位置>他们。变量的可见性取决于源代码的结构,这一事实称为词法范围。

在JavaScript中创建作用域有三种方法:

  1. 创建函数。在函数内部声明的变量仅在该函数内部可见,包括在嵌套函数中。
  2. 使用let或const在代码块内声明变量。此类声明仅在块内可见。
  3. 创建catch块。不管你相信与否,这实际上确实创建了一个新的范围!
cript;toolbal:false;">"usestrict";varmr_global="MrGlobal";functionfoo(){varmrs_local="MrsLocal";console.log("Icansee"+mr_global+"and"+mrs_local+".");functionbar(){console.log("Icanalsosee"+mr_global+"and"+mrs_local+".");}}foo();//Worksasexpectedtry{console.log("But/I/can'tsee"+mrs_local+".");}catch(err){console.log("Youjustgota"+err+".");}{letfoo="foo";constbar="bar";console.log("Icanuse"+foo+bar+"initsblock...");}try{console.log("Butnotoutsideofit.");}catch(err){console.log("Youjustgotanother"+err+".");}//ThrowsReferenceError!console.log("Notethat"+err+"doesn'texistoutsideof'catch'!")
 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  RSS订阅
Powered By DESTOON