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对元素拖动排序示例
Jan 16 Javascript
浅谈重写window对象的方法
Dec 29 Javascript
纯javascript实现自动发送邮件
Oct 21 Javascript
JS判断字符串字节数并截取长度的方法
Mar 05 Javascript
JavaScript中windows.open()、windows.close()方法详解
Jul 28 Javascript
JS实现鼠标滑过显示边框的菜单效果
Sep 21 Javascript
纯JS代码实现隔行变色鼠标移入高亮
Nov 23 Javascript
angular+ionic 的app上拉加载更新数据实现方法
Jan 16 Javascript
node.js通过axios实现网络请求的方法
Mar 05 Javascript
微信小程序点击view动态添加样式过程解析
Jan 21 Javascript
Vue.js中使用Vuex实现组件数据共享案例
Jul 31 Javascript
如何在现代JavaScript中编写异步任务
Jan 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
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
Seajs源码详解分析
2019/04/02 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
python多线程编程中的join函数使用心得
2014/09/02 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
不管你的Python报什么错,用这个模块就能正常运行
2018/09/14 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
详谈tensorflow gfile文件的用法
2020/02/05 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
基于python实现删除指定文件类型
2020/07/21 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
采购内勤岗位职责
2013/12/10 职场文书
师德个人剖析材料
2014/02/02 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
《春雨》教学反思
2014/04/24 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
优秀团支部申报材料
2014/12/26 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
安全第一课观后感
2015/06/18 职场文书