【ES6】var、let、const三者的区别

2023-11-10

首先,一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系?

      ECMAScript是一个国际通过的标准化脚本语言。JavaScript由ECMAScript和DOM、BOM三者组成。可以简单理解为:ECMAScript是JavaScript的语言规范,JavaScript是ECMAScript的实现和扩展。

        2011 年,ECMAScript 5.1 版发布。之前我们大部分人用的也就是ES5

        2015 年 6 月,ECMAScript 6 正式通过,成为国际标准。

 

1. 块级作用域 {}

        ES5 中作用域有:全局作用域、函数作用域。没有块作用域的概念。

         ES6 中新增了块级作用域。块作用域由 { } 包括,if语句和 for语句里面的{ }也属于块作用域。

<script type="text/javascript">
	
    {
        var a = 1;
        console.log(a); // 1
    }
    console.log(a); // 1
    // 通过var定义的变量可以跨块作用域访问到。

    (function A() {
        var b = 2;
        console.log(b); // 2
    })();
    // console.log(b); // 报错,
    // 可见,通过var定义的变量不能跨函数作用域访问到

    if(true) {
        var c = 3;
    }
    console.log(c); // 3
    for(var i = 0; i &
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ES6】var、let、const三者的区别 的相关文章

随机推荐

  • 使用openCV比对任意两张图片的相似度(亲测较准确)

    方案 使用openCV中的直方图算法做对比 测试效果较好 步骤 在java中使用openCV 1 引入openCV的依赖
  • openwrt 没有wifi

    wifi radio0 is disabled radio0 is disabled uci set wireless radio0 disabled 0
  • Web中什么是token,token的组成部分详解(jwt Token)

    token是计算机术语 令牌 令牌是一种能够控制站点占有媒体的特殊帧 以区别数据帧及其他控制帧 token其实说的更通俗点可以叫暗号 在一些数据传输之前 要先进行暗号的核对 不同的暗号被授权不同的数据操作 使用基于 Token 的身份验证方
  • K8s基础9——服务发现Coredns、Ingress Controller多种暴露方式、TLS+DaemonSet、Headless Services

    文章目录 一 服务发现机制 1 1 环境变量注入 1 2 DNS解析 二 Ingress 4 1 部署Ingress controller 4 2 暴露Ingress Controller 4 2 1 SVC NodePort方式 4 2
  • ElementUI 之el-form表单重置功能按钮

    业务场景 使用el form时 点击重置按钮或者取消按钮时会实现表单重置效果 重置功能按钮功能实现详细步骤 第一 首先给el form添加ref属性
  • 手把手教你做出数据可视化项目(四)动态模拟航班飞行路线

    数据可视化前言 https blog csdn net diviner s article details 115933789 项目最终效果图 此篇博客为自己学习pink老师的课后完成的项目的总结与记录 仅供交流参考 版权所有 转载请标注原
  • 服务器2016系统怎么添加用户名,windows-server-2016 – 如何在Nano Server中添加SMTP服务器角色?...

    使用 this TechNet page上的信息 我已经成功建立了一个远程PowerShell会话 其中包含在Hyper V VM中运行的2016 Preview 2 Nano Server 我现在想要添加SMTP服务器角色 我期待这是一个
  • android 史上最简单的下拉选择菜单DropDownMenu 几行代码轻松搞定!

    这是我在CSDN上第一篇原创文章 趁着从上家公司离职去考驾照的这段日子 想通过写技术博客的方式 锻炼一下自己的语言表达能力 以及对之前工作的总结 废话不多说了 直接进入正题 先给客官来张效果图 一 思路 下拉菜单首先让我想到了PopupWi
  • Java代码审计详解

    一 Fortify代码审计工具 1 Fortify简介 Fortify是Micro Focus旗下AST 应用程序安全测试 产品 其产品组合包括 Fortify Static Code Analyzer提供静态代码分析器 SAST Fort
  • 每日一道Leetcode——按奇偶排序数组II

    题目 我的解法一 双端队列 思路 用两个双端队列分别存储奇数和偶数 然后依次取一个 class Solution public int sortArrayByParityII int A Deque
  • 拓世AI

    2023年的小红书 发展趋势依旧昂扬向上 最新数据显示 小红书拥有逾3亿的月活用户 且超过80 的用户集中在20 30岁年龄段 这代表什么 广大的年轻用户基数和消费能力 正处于购买力上升期的年轻人 是品牌最想抓住的目标用户 巨大的红利吸引了
  • Visual C# 2010 实现菜单项和状态栏

    演练 向窗体提供标准菜单项 Visual Studio 2010 其他版本 此主题尚未评级 评价此主题 可以通过 MenuStrip 控件为窗体提供标准菜单 此演练演示如何使用 MenuStrip 控件创建标准菜单 窗体还将在用户选择菜单项
  • karatsuba大数乘法问题及其高效算法

    转载自 iTimeTraveler博客 题目 编写两个任意位数的大数相乘的程序 给出计算结果 比如 题目描述 输出两个不超过100位的大整数的乘积 输入 输入两个大整数 如1234567 和 123 输出 输出乘积 如 151851741
  • arcgis应用程序无法正常启动0xc0000906

    第一 在开始 运行里输入CMD确定 在命令行窗口下输入以下内容后按回车for 1 in windir system32 ocx do regsvr32 s 1完了后 再输入以下内容并回车 第二 再输入以下内容并回车for 1 in wind
  • Android 代码混淆语法讲解及常用模板,app架构图

    keepclassmembers class R public static 表示不混淆 R 类中 的 static 变量 在 R 类中 这些资源 ID 是系统自动帮我们生成的 混淆了就无法找到相应的资源 dontwarn android
  • VUE 之 项目常规配置详解

    Vue 项目的常规配置可以分为以下几个方面 路由配置 使用 Vue Router 进行路由配置 需要在 src router index js 文件中配置路由表和路由守卫 状态管理 使用 Vuex 进行状态管理 需要在 src store
  • C++多线程:thread_local

    概念 首先thread local是一个关键词 thread local是C 11新引入的一种存储期指定符 它会影响变量的存储周期 Storage duration 与它同是存储期指定符的还有以下几个 关键字 说明 备注 auto 自动存储
  • new详解

    new int和new int 内置类型 对于int内置类型 new仅仅只是分配内存 除非后面显示加 相当于调用它的构造函数 int p new int 10 10个未初始化的int int p2 new int 10 10个值初始化为0的
  • 异步调用的四种方法

    异步调用的四种方法 我们都知道普通方法运行是单线程的 如果中途有大型操作都会导致方法阻塞 表现在界面上就是 程序卡或者死掉 界面元素不动了 不响应了 C 异步调用是很好的解决方法 异步执行某个方法 程序立即开辟一个新线程去运行你的方法 主线
  • 【ES6】var、let、const三者的区别

    首先 一个常见的问题是 ECMAScript 和 JavaScript 到底是什么关系 ECMAScript是一个国际通过的标准化脚本语言 JavaScript由ECMAScript和DOM BOM三者组成 可以简单理解为 ECMAScri