ES6学习之变量的两种命名方法示例


Posted in Javascript onJuly 18, 2017

前言

众所周知es6是ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

它完善了ES5的命名规范,它又重新发布了两个新的命名变量的方式:let和const,但是let声明的变量只在它所在的代码块有效。

本文将给大家介绍关于ES6变量命名的两种方法,下面话不多说,来一起看看详细的介绍:

let a = 10;
 var b = 1;
}

a // ReferenceError: a is not defined.
b // 1

1、for循环的计数器,就很适合let,比如我之前遇到一个问题,就是一个ul中有很多li,要想点击每个li时都获取到哪个li的下标

for (let i = 0,len=obj.length; i < len; i++) {
      obj[i].addEventListener("click",function (){
       console.log(i)
      },false);
     }

var 在for循环中循环一个对象后得到最后那个对象的长度,而let很好的解决了那个问题,并且访问每个li的索引。

2、不存在变量提升

var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

// var 的情况
console.log(foo); // 输出undefined
var foo = 2;

// let 的情况
console.log(bar); // 报错ReferenceError
let bar = 2;

const声明一个只读的常量。一旦声明,常量的值就不能改变。

const PI = 3.1415;
PI // 3.1415

PI = 3;
// TypeError: Assignment to constant variable.

const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。

对于const来说,只声明不赋值,就会报错。

const的作用域与let命令相同:只在声明所在的块级作用域内有效。

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery png 透明解决方案(推荐)
Aug 21 Javascript
js中符号转意问题示例探讨
Aug 19 Javascript
jQuery异步加载数据并添加事件示例
Aug 24 Javascript
JavaScript中的方法重载实例
Mar 16 Javascript
基于jQuery的checkbox全选问题分析
Nov 18 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
Sep 04 Javascript
jQuery实现滚动效果
Nov 17 jQuery
vue.js在标签属性中插入变量参数的方法
Mar 06 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
JavaScript设计模式之观察者模式实例详解
Jan 16 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
Mar 29 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
Aug 31 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 #Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
Jul 18 #Javascript
vue深入解析之render function code详解
Jul 18 #Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 #jQuery
浅谈JS封闭函数、闭包、内置对象
Jul 18 #Javascript
iscroll实现下拉刷新功能
Jul 18 #Javascript
vue.js实现单选框、复选框和下拉框示例
Jul 18 #Javascript
You might like
Laravel实现批量更新多条数据
2020/04/06 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
python每隔N秒运行指定函数的方法
2015/03/16 Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
使用python加密自己的密码
2015/08/04 Python
Python 文件处理注意事项总结
2017/04/10 Python
Python中元组,列表,字典的区别
2017/05/21 Python
python3实现windows下同名进程监控
2018/06/21 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
对Python3 序列解包详解
2019/02/16 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
python 实现波浪滤镜特效
2020/12/02 Python
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
班组长工作职责
2013/12/25 职场文书
红领巾广播站广播稿
2014/02/01 职场文书
企业总经理职责
2014/02/02 职场文书
空乘英文求职信
2014/04/13 职场文书
销售提升方案
2014/06/07 职场文书
业务内勤岗位职责
2015/04/13 职场文书
少年犯观后感
2015/06/11 职场文书
聘用合同范本
2015/09/21 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
Python利用folium实现地图可视化
2021/05/23 Python