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基本选择器选择元素使用介绍
Apr 18 Javascript
jQuery的one()方法用法实例
Jan 19 Javascript
js实现鼠标悬浮给图片加边框的方法
Jan 30 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
Nov 07 Javascript
简单理解js的prototype属性及使用
Dec 07 Javascript
js实现截图保存图片功能的代码示例
Feb 16 Javascript
JS实现浏览器打印、打印预览示例
Feb 28 Javascript
JavaScript函数柯里化原理与用法分析
Mar 31 Javascript
Node.JS文件系统解析实例详解
May 15 Javascript
Bootstrap实现下拉菜单多级联动
Nov 23 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
Dec 13 Javascript
React实现类似淘宝tab居中切换效果的示例代码
Jun 02 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
php ajax 静态分页过程形式
2011/09/02 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
两款万能的php分页类
2015/11/12 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
Python 条件判断的缩写方法
2008/09/06 Python
Python实现的石头剪子布代码分享
2014/08/22 Python
Python中的两个内置模块介绍
2015/04/05 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
python requests 测试代理ip是否生效
2018/07/25 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
实习生的自我评价
2014/01/08 职场文书
大学生旷课检讨书
2014/01/22 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
爱牙日活动总结
2014/08/29 职场文书
2015暑假假期总结
2015/07/13 职场文书
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技