let和const这两个都是声明一个变量或函数的方法与var差不太多的效果

let的声明在for循环中,当你定义的是多少,最后你的值就是多少开始的,它只进行一次循环,不会像var那样去一遍一遍的去遍历它

并且let在for循环中它只有在for里面才能运行,在外部获取的情况就会出错

let的特殊情况,最好不要这样定义,容易把自己玩进去,看下面的这段代码,有两个let,可以看成父子,当这样定义的话,console的值就是它的最近的上一级,父子之间不会出现互相影响的情况

let的使用也不像var那样使用那么随意,es6中明确的规定了如果在区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始形成了封闭作用域,凡是在声明前使用这些变量,就会报错俗称“暂时性死区”。let特别大男子主义,谁在我前面用我的值就是不行,全给你们干掉,叫你们用。(同区域内在let前使用它的值,全都会报错)所以为了良好的编程习惯,大家都用把变量声明完后在使用。出错的话就要自己慢慢找bug了

let不能在同作用域内重复声明这个值,并且不能在函数内部重新去声明这个参数

const命令

const声明一个只读的常量,一旦声明,这个常量就不能改变,只要改变就会出错

coust命令也是在块级作用域内有效

一样常量不能提升,存在暂时性死区

一样存在不能重复声明

const保证的不是变量不能改动,而是指不能改变变量的指向,从下面的例子就能看出,变量值能够随意的改变,但是一旦把他的指向发生变化,那就报错了。

如果定义完后不想让他改变里面的值的时候,这就需要把他的值给冻结一下才行,用下面的代码

let和const有很多的相同点总结下

1.在块级作用域下才能使用

2.常量不能提升,存在暂时性死区

3.一样不能重复声明

不同点:

1.const声明出来的是只读属性,不能随便改动,只能改变指向里面的值,let声明的值在同作用域下能够进行改动

2.const不存在父子属性,let能够在父子属性中存活

3.const不存在for循环着种操作

最新文章

  1. thinkphp3.2与phpexcel解析
  2. servlet的生命周期与运行时的线程模型
  3. 开关电源-BUCK
  4. 用etckeeper来解救运维工程师
  5. 经典实用jQuery soChange幻灯片实例演示
  6. ppurl
  7. leetcode 140. Word Break II ----- java
  8. Elastic Search(一)
  9. 搭建Spring + SpringMVC + Mybatis框架之二(整合Spring和Mybatis)
  10. Windows Phone开发(46):与Socket有个约会
  11. YUV422蓝色屏幕输出的调试援助
  12. 【Weblogic】linux下weblogic新建domain(入门教程)
  13. 基于Kafka Connect框架DataPipeline可以更好地解决哪些企业数据集成难题?
  14. C++题目:回文数判断
  15. docker搭建及使用:centos7.0+docker+flask+nginx
  16. Food HDU - 4292 网络流 拆点建图
  17. Java并发--Java线程面试题 Top 50
  18. LibreOJ #6014. 「网络流 24 题」最长 k 可重区间集
  19. tabs 标签样式
  20. heap与stack的差

热门文章

  1. vue中点击空白处隐藏弹框(用指令优雅地实现)
  2. 微信授权登录(OAuth2.0)-- 随记
  3. Visitor模式(访问者设计模式)
  4. C# JObject将json字符串转为json对象
  5. weblogic.xml
  6. (转)Linux系统重要子目录及内容小结
  7. 【翻译转载】【官方教程】Asp.Net MVC4入门指南(2):添加一个控制器
  8. OC 中 self 与 super 总结
  9. 1269 匈牙利游戏 2012年CCC加拿大高中生信息学奥赛
  10. Every ending is just a new beginning.