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 相关文章推荐
JavaScript 函数式编程的原理
Oct 16 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
Sep 12 Javascript
js导出table到excel同时兼容FF和IE示例
Sep 03 Javascript
bootstrap datetimepicker2.3.11时间插件使用
Nov 19 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
Bootstrap风格的zTree右键菜单
Feb 17 Javascript
@ResponseBody 和 @RequestBody 注解的区别
Mar 08 Javascript
vue+axios实现登录拦截的实例代码
May 22 Javascript
JavaScript订单操作小程序完整版
Jun 23 Javascript
React注册倒计时功能的实现
Sep 06 Javascript
vue 中 beforeRouteEnter 死循环的问题
Apr 23 Javascript
JavaScript缺少insertAfter解决方案
Jul 03 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
PHP下用rmdir实现删除目录的三种方法小结
2008/04/20 PHP
php 面向对象的一个例子
2011/04/12 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Django项目中model的数据处理以及页面交互方法
2018/05/30 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
python性能测试工具locust的使用
2020/12/28 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
财会专业毕业生自荐信
2014/07/09 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS