ES6学习之变量的两种命名方法示例
前言
众所周知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命令相同:只在声明所在的块级作用域内有效。
总结
以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
bootstrap table实现双击可编辑、添加、删除行功能
这篇文章主要为大家详细介绍了bootstrap table实现双击可编辑、添加、删除行功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-09-09bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
这篇文章主要介绍了bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法,涉及js数据传输及定义响应事件相关操作技巧,需要的朋友可以参考下2017-05-05探究Javascript模板引擎mustache.js使用方法
这篇文章主要为大家介绍了Javascript模板引擎mustache.js使用方法,mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用,感兴趣的小伙伴们可以参考一下2016-01-01js和jQuery以及easyui实现对下拉框的指定赋值方法
下面小编就为大家分享一篇js和jQuery以及easyui实现对下拉框的指定赋值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-01-01
最新评论