iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >JavaScript ES新特性块级作用域怎么使用
  • 440
分享到

JavaScript ES新特性块级作用域怎么使用

2023-06-21 22:06:42 440人浏览 独家记忆
摘要

这篇文章主要讲解了“javascript ES新特性块级作用域怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript ES新特性块级作用域怎么使用”吧

这篇文章主要讲解了“javascript ES新特性块级作用域怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript ES新特性块级作用域怎么使用”吧!

1.块级作用域是什么

所谓的块级作用域,就是该变量只能在声明时的代码块或者子代码块中使用。在ECMAScript 2015以前的版本中是不存在块级作用域的,而ECMAScript 2015提供的let关键字,使JavaScript出现了块级作用域,示例代码如下所示

// 全局作用域let a = 100; // 全局变量(function () {  // 函数作用域  let b = 200; // 局部变量})()if (true) {  // 块级作用域  let c = 300; // 局部变量}console.log(a); // 100console.log(b); // 抛出异常console.log(c); // 抛出异常

2.为什么需要块级作用域

ECMAScript 5只存在全局作用域和函数作用域,没有块级作用域。这种情况出现一些问题:

局部变量可能会覆盖全局变量

var v = 100;(function(){  console.log(v); // undefined   var v = 200;})

在循环体中用于计数的变量泄露为全局变量

// 定义一个循环体for (var v = 0; v < 10; v++) {  console.log("这是一个 for 循环"); // 这是一个 for 循环 * 10}console.log(v); // 10

在循环完毕之后如果不手动释放此变量,其生命周期跟随此脚本生存,占用内存。

3.与函数声明

ECMAScript5标准规定函数的声明只能在全局作用域和函数作用域中,不能再块级作用域中声明。

情况一:

if (true) {  function f() {}}

情况二:

try {  function f() {}} catch(e) {  // ...}

上面两种函数声明,根据ECMAScript5的规定都是非法的。

ECMAScript 2015标准规定在块级作用域声明函数类似于使用了var关键字,即在当前块级作用域外无法访问。

{  function fun() {    console.log('this is fun');  }}fun(); // this is fun// 上面的等同于下面的函数{  var fn = function () {    console.log('this is fn');  }}fn(); // this is fn// 如果使用 let 关键字 则在块级作用域外无法访问{  let f = function () {    console.log('this is f');  }}f(); // 抛出异常 描述信息为 ReferenceError: f is not defined

感谢各位的阅读,以上就是“JavaScript ES新特性块级作用域怎么使用”的内容了,经过本文的学习后,相信大家对JavaScript ES新特性块级作用域怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: JavaScript ES新特性块级作用域怎么使用

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

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

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

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

下载Word文档
猜你喜欢
  • JavaScript ES新特性块级作用域怎么使用
    这篇文章主要讲解了“JavaScript ES新特性块级作用域怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript ES新特性块级作用域怎么使用”吧...
    99+
    2023-06-21
  • JavaScript ES新特性块级作用域
    目录1.块级作用域是什么 2.为什么需要块级作用域 3.与函数声明 前言: 在学习块级作用域之前需要我们对作用域有个了解,所谓的作用域就是代码当中的某个成员起作用的范围。 1.块级作...
    99+
    2024-04-02
  • JavaScript块级作用域怎么用
    今天小编给大家分享一下JavaScript块级作用域怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2024-04-02
  • javascript有块级作用域吗
    这篇文章主要介绍javascript有块级作用域吗,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在JavaScript中,没有块级作用域的概念。在块级语...
    99+
    2024-04-02
  • javascript的块级作用域有什么作用
    今天小编给大家分享一下javascript的块级作用域有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2024-04-02
  • 怎么理解ES6块级作用域
    这篇文章主要介绍“怎么理解ES6块级作用域”,在日常操作中,相信很多人在怎么理解ES6块级作用域问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解ES6块级作用域”的疑惑...
    99+
    2024-04-02
  • JavaScript块级作用域的实现原理是什么
    这篇文章主要讲解了“JavaScript块级作用域的实现原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript块级作用域的实现原理是什...
    99+
    2024-04-02
  • JS ES新特性之变量的解耦赋值怎么用
    小编给大家分享一下JS ES新特性之变量的解耦赋值怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.数组的解耦赋值1.1数组解耦赋值是什么ECMAScript 2015中允许按照一定模式,从数组和对象中提取...
    99+
    2023-06-21
  • JavaScript ECMAScript6所有新特性怎么用
    这篇文章主要介绍“JavaScript ECMAScript6所有新特性怎么用”,在日常操作中,相信很多人在JavaScript ECMAScript6所有新特性怎么用问题上存在疑惑,小...
    99+
    2024-04-02
  • JavaScript块级作用域绑定的实现流程
    目录1.var声明和变量提升2.块级声明和临时死区3.禁止重复声明4.块级作用域绑定的最佳实践1.var声明和变量提升 无论是在函数作用域亦或是全局作用中使用var声明的变量,都会在...
    99+
    2022-12-30
    JavaScript块级作用域绑定 JS作用域绑定
  • Java8新特性怎么使用
    本篇内容介绍了“Java8新特性怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java语言新特性Lambda表达式Lambda表达式...
    99+
    2023-06-02
  • es6新特性怎么使用
    这篇“es6新特性怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es6新特性怎么使用”文章吧。es6新特性有:1、l...
    99+
    2023-07-04
  • Vue3.0新特性怎么使用
    本篇内容主要讲解“Vue3.0新特性怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue3.0新特性怎么使用”吧!1、Vue3带来的新变化性能提升(零成本:从vue2切到vue3就享受到...
    99+
    2023-06-29
  • 怎么使用的新Java特性
    这篇文章主要讲解了“怎么使用的新Java特性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用的新Java特性”吧!1 Try-with-resource 语句使用 try-catch ...
    99+
    2023-06-15
  • HTML5的新特性怎么使用
    这篇“HTML5的新特性怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“HTML5的...
    99+
    2024-04-02
  • webpack5新特性Asset Modules资源模块怎么用
    本文小编为大家详细介绍“webpack5新特性Asset Modules资源模块怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“webpack5新特性Asset Modules资源模块怎么用”文章能帮助大家解决疑惑...
    99+
    2023-07-05
  • JavaScript块作用域、重新声明变量的方法
    这篇文章主要介绍了JavaScript块作用域、重新声明变量的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript块作用域、重新声明变量的方法文章都会有所收获...
    99+
    2024-04-02
  • React18新增特性released怎么使用
    本文小编为大家详细介绍“React18新增特性released怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“React18新增特性released怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。新...
    99+
    2023-06-30
  • Java8新特性Stream流怎么使用
    本文小编为大家详细介绍“Java8新特性Stream流怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java8新特性Stream流怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Stream流的概...
    99+
    2023-07-02
  • CSS新特性content-visibility怎么使用
    这篇“CSS新特性content-visibility怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CSS新特性co...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作