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 相关文章推荐
js中的window.open返回object的错误的解决方法
Aug 15 Javascript
基于jquery的表格排序
Sep 11 Javascript
用javascript实现自动输出网页文本
Jul 30 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
Nov 29 Javascript
jQuery基于扩展实现的倒计时效果
May 14 Javascript
Bootstrap模块dropdown实现下拉框响应
May 22 Javascript
ng2学习笔记之bootstrap中的component使用教程
Mar 09 Javascript
node.js 中间件express-session使用详解
May 20 Javascript
DatePickerDialog 自定义样式及使用全解
Jul 09 Javascript
vue3实现v-model原理详解
Oct 09 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
Nov 18 jQuery
js实现搜索提示框效果
Sep 05 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
javascript的事件描述
2006/09/08 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
JavaScript实现网页加载进度条代码超简单
2015/09/21 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
2020/09/08 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
Python代码的打包与发布详解
2014/07/30 Python
python计算圆周率pi的方法
2015/07/11 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
3个用于数据科学的顶级Python库
2018/09/29 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
详解python tkinter模块安装过程
2020/01/06 Python
keras 多任务多loss实例
2020/06/22 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
工程总经理工作职责
2013/12/09 职场文书
公司董事长职责
2013/12/12 职场文书
大学军训感言1500字
2014/03/09 职场文书
晨会主持词
2014/03/17 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
学校四群教育实施方案
2014/06/12 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
邀请书模板
2015/02/02 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
Python中基础数据类型 set集合知识点总结
2021/08/02 Python