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试卷自动排版系统
Jul 18 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
Aug 14 Javascript
JS嵌套函数调用上下文的问题解决
Mar 26 Javascript
jQuery中:password选择器用法实例
Jan 03 Javascript
javascript图片延迟加载实现方法及思路
Dec 31 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
Jan 12 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
May 03 Javascript
Javascript中click与blur事件的顺序详析
Apr 25 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
Jul 05 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 Javascript
Nautil 中使用双向数据绑定的实现
Oct 02 Javascript
JavaScript 绘制饼图的示例
Feb 19 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
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
浅析用prototype定义自己的方法
2013/11/14 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Django小白教程之Django用户注册与登录
2016/04/22 Python
python的pdb调试命令的命令整理及实例
2017/07/12 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
python模块导入的细节详解
2018/12/10 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Python内存映射文件读写方式
2020/04/24 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
称象教学反思
2014/02/03 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript
Java 多线程协作作业之信号同步
2022/05/11 Java/Android