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中3种实现继承的方法和代码实例
Aug 12 Javascript
小米公司JavaScript面试题
Dec 29 Javascript
javascript封装 Cookie 应用接口
Aug 07 Javascript
javascript中错误使用var造成undefined
Mar 31 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
Aug 25 Javascript
webpack+vue.js实现组件化详解
Oct 12 Javascript
JavaScript中数组的各种操作的总结(必看篇)
Feb 13 Javascript
浅谈vuejs实现数据驱动视图原理
Feb 23 Javascript
详解操作虚拟dom模拟react视图渲染
Jul 25 Javascript
少女风vue组件库的制作全过程
May 15 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
Nov 16 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完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
sphinx增量索引的一个问题
2011/06/14 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
python抓取网页图片并放到指定文件夹
2014/04/24 Python
Python读大数据txt
2016/03/28 Python
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
python小白学习包管理器pip安装
2020/06/09 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
Django数据统计功能count()的使用
2020/11/30 Python
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
平面设计自荐信
2013/10/07 职场文书
商务英语专业自荐信
2013/10/14 职场文书
施工人员岗位职责
2013/12/12 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
汽修专业自荐信
2014/07/07 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书