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 相关文章推荐
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
Aug 15 Javascript
JS实现图片横向滚动效果示例代码
Sep 04 Javascript
如何用jquery控制表格奇偶行及活动行颜色
Apr 20 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
May 15 Javascript
jQuery构造函数init参数分析续
May 13 Javascript
基于jQuery Tipso插件实现消息提示框特效
Mar 16 Javascript
实用jquery操作表单元素的简单代码
Jul 04 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
Jan 13 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
Sep 20 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
Oct 24 Javascript
vue项目中仿element-ui弹框效果的实例代码
Apr 22 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连接mssql:pdo odbc sql server
2011/07/20 PHP
table标签的结构与合并单元格的实现方法
2013/07/24 PHP
深入php内核之php in array
2015/11/10 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
简单介绍Ruby中的CGI编程
2015/04/10 Python
Python实现提取文章摘要的方法
2015/04/21 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
2017/11/01 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python实现大文件分割与合并
2019/07/22 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
门诊手术室工作制度
2014/01/30 职场文书
十八届三中全会报告学习材料
2014/02/17 职场文书
《陶罐和铁罐》教学反思
2014/02/19 职场文书
信息技术课后反思
2014/04/27 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS