ES6新特性一: let和const命令详解

 更新时间:2017年04月20日 14:52:47   作者:Dason_yu  
这篇文章主要介绍了ES6新特性中的let和const命令,结合实例形式分析了let和const命令的功能、使用方法与相关注意事项,需要的朋友可以参考下

本文实例讲述了ES6新特性中的let和const命令。分享给大家供大家参考,具体如下:

1. let 命令

① 在js中是没有块级作用域的,var 声明的变量作用域是整个函数体,而let可以起到这一作用

{
  let a = 1;
  var b = 2;
}
console.log(b); // 2
console.log(a); // a is not defind

② 而let可以起到这一作用啊在js中变量和函数的声明会提升到当前作用域最顶部执行。这样就会出现问题。

var a = [];
//函数和变量i会最先进行声明,同时全局变量i经过for循环赋值为10
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
console.log(i);//10
a[6]();//10

而使用let就解决了这个问题

for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); //6

③ let不像var那样,会发生“变量提升”现象

console.log(a); // a is not defined
let a = 1;

④ let不允许在相同块级作用域内,重复声明同一个变量

// 报错
{
  let a = 10;
  var a = 1;
}
// 报错
{
  let a = 10;
  let a = 1;
}

2. const 命令

① const也用来声明变量,但是声明的是常量。一旦声明,常量的值就不能改变。
② 与let相同也不能在相同块级作用域内重复声明同一个变量。
③ const的作用域与let命令相同:只在声明所在的块级作用域内有效。

const PI = 3.1415;
console.log(PI); // 3.1415
//PI = 3; // Assignment to constant variable.(不能给常量赋值)
//const PI = 3.1;// Identifier 'PI' has already been declared

希望本文所述对大家ECMAScript程序设计有所帮助。

相关文章

  • webpack4.x打包过程详解

    webpack4.x打包过程详解

    这篇文章主要介绍了webpack4.x打包过程详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • js实现匹配时换色的输入提示特效代码

    js实现匹配时换色的输入提示特效代码

    这篇文章主要介绍了js实现匹配时换色的输入提示特效代码,涉及javascript针对页面元素的匹配及鼠标事件的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • JavaScript文档加载模式以及元素获取

    JavaScript文档加载模式以及元素获取

    这篇文章主要介绍了JavaScript文档加载模式以及元素获取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • JS导出PDF插件的方法(支持中文、图片使用路径)

    JS导出PDF插件的方法(支持中文、图片使用路径)

    下面小编就为大家带来一篇JS导出PDF插件的方法(支持中文、图片使用路径)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • bootstrap table使用入门基本用法

    bootstrap table使用入门基本用法

    这篇文章主要为大家详细介绍了bootstrap table使用入门基本用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 微信小程序与后台PHP交互的方法实例分析

    微信小程序与后台PHP交互的方法实例分析

    这篇文章主要介绍了微信小程序与后台PHP交互的方法,结合实例形式分析了微信小程序基于wx.request(OBJECT)方法与后台php程序交互相关操作技巧与注意事项,需要的朋友可以参考下
    2018-12-12
  • JavaScript更改class和id的方法

    JavaScript更改class和id的方法

    JavaScript允许你更改元素的class或id。当你更改之后,浏览器会自动更新元素的样式。
    2008-10-10
  • js+canvas绘制矩形的方法

    js+canvas绘制矩形的方法

    这篇文章主要介绍了js+canvas绘制矩形的方法,涉及JavaScript调用html5的canvas组件绘制图形的相关技巧,需要的朋友可以参考下
    2016-01-01
  • ES6中字符串string常用的新增方法小结

    ES6中字符串string常用的新增方法小结

    这篇文章主要介绍了ES6中字符串string常用的新增方法,结合实例形式总结分析了ES6中字符串string常用的新增方法功能与使用技巧,需要的朋友可以参考下
    2017-11-11
  • 解析从小程序开发者工具源码看原理实现

    解析从小程序开发者工具源码看原理实现

    小程序的架构设计与web技术还是有一定的差别,其吸取了web技术的一些优势,同时也摒弃web技术中体验等不好的地方。下面通过问题的形式来说说小程序架构中的一些设计点
    2021-06-06

最新评论