ES6 增加let命令声明变量,类似于var,但是所声明的变量,只在let声明的变量只在声明所在的代码块内有效,无法变量提升,可以解决for块中条件变量的使用问题。

如:

var a = [];
for (var i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6] () // 显示10

let解决块中变量提升带来的麻烦

for (let i = 0; i < 10; i++) {
// ...
}

const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。所以对于结构体或数组,指向内存地址所保存的值是一个地址地址,所以其中包含的其他元素值可以发生改变:

const a = [];
a.push('Hello'); // 可执行
a.length = 0; // 可执行
a = ['Dave']; // 报错,a为产量是不能赋予前他新的数组地址值

转载于:https://blog.51cto.com/13238147/2320429

js小笔记 -- let const的理解相关推荐

  1. Three.js 学习笔记 - 给跳一跳小游戏添加光源,阴影

    一. 修改物体材质 接着上一篇的项目,在上一篇中物体的材质都是用的MeshBasicMaterial这种材质,这种材质是不受光照的影响的,所以要修改成MeshPhongMaterial这种材质,让它受 ...

  2. JS关于canvas画布小笔记

    JS画布笔记 1. 实现画布 var canvas = document.getElementById("mycanvas"); var ctx = canvas.getConte ...

  3. Vue.js学习笔记 01、Vue基本语法篇

    文章目录 前言 1.基础学习 1.1.第一个vue:helloworld(template以及mount()使用) 1.2.编写计数器(mounted应用) 1.3.vue的绑定事件和事件方法(v-o ...

  4. 唤醒手腕 - 前端服务器端开发 Node.Js 学习笔记(学习中,更新中)

    唤醒手腕 - Node.Js 学习笔记 唤醒手腕个人的学习记录,时间在2021年12月13日 ~ 2021年12月14日,学习方式看官方文档和B站视频,如有错误或者代码问题的地方,欢迎C站大佬能够帮忙 ...

  5. React.js 小书 Lesson12 - state vs props

    React.js 小书 Lesson12 - state vs props 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson12 转载请注 ...

  6. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  7. backbone.js学习笔记

    backbone.js学习笔记 之前只接触过jQuery,看来Backbone是除了jQuery的第二大JS框架... backbone到底是个啥? 其实刚开始我也不知道=_=,我是这周二才听说居然还 ...

  8. React.js 小书 Lesson18 - 挂载阶段的组件生命周期(一)

    React.js 小书 Lesson18 - 挂载阶段的组件生命周期(一) 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson18 转载请注 ...

  9. Node.js学习笔记8

    Node.js学习笔记8 HTTP服务器与客户端 Node.js的http模块,封装了一个高效的HTTP服务器和一个简易的HTTP客户端 http.server是一个基于事件的HTTP服务器,核心由N ...

最新文章

  1. 有关Location对象,及URL的解析
  2. 图解SQL Server 存储过程教程一
  3. linux桌面lxde 安装_观点|最新精简型 Linux 桌面环境大比拼:LXDE Vs. Xfce Vs. MATE
  4. js构造函数内存在的闭包
  5. [Ext JS ]3.4 数字输入框 numberfield
  6. 计算机硬盘容量计算公式
  7. MySQL创建自定义函数提示:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its ......
  8. python计算整数区间[m、n所有整数之和_Python:就区间正整数内所有素数之和
  9. python 中在字符串前面加上b,u,r的含义
  10. 利用Python将一个Excel拆分为多个Excel
  11. mac vue 代理失效
  12. 计算机三级上机场,自学通过计算机二级、三级、四级,保研天津大学,证书拿到手软!你被中航大男神圈粉了吗?...
  13. 将win7 firefox WebStorm PyCharm等JetBrains系列开发软件设置为豆沙绿护眼背景
  14. 使用Famo.us 创建高性能移动 UI
  15. 根据脸部毛孔生长方向去护肤
  16. JS 中 Math 对象的【三角函数】的用法与实战例子【打靶游戏】 | Math.tan(), Math.cos(), Math.sin()
  17. Python数据分析第八课:初识Matplotlib
  18. 强化学习笔记二 -- MDP
  19. 初步使用计算机教学设计,电子计算机与多媒体教学设计模板
  20. java中Pair怎么用

热门文章

  1. 若依微服务版怎样修改Nacos中配置文件使Url不受权限认证跳过Token验证
  2. Node中同步与异步的方式读取文件
  3. SpringBoot中对thymeleaf的时间进行格式化显示
  4. SpringBoot+Echarts实现一次ajax请求返回并显示多个饼状图
  5. 软考-信息系统项目管理师-量化的项目管理
  6. 史上最强画图工具推荐
  7. datagrid表头与数据列宽度不对齐_easyui datagrid标题列宽度自适应
  8. sqlite3 select查询一列_Python成为专业人士笔记–Sqlite3 模块
  9. html 5 video audio
  10. C++ using namespace