博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es6 随笔(一)
阅读量:7175 次
发布时间:2019-06-29

本文共 645 字,大约阅读时间需要 2 分钟。

hot3.png

最近要用vue做一个后台管理项目,顺带学习es6

1. let和const

let和var不同,不存在变量提升

let所声明的变量只在块级代码中有效

let比较令人惊讶的地方

for循环还有一个特别之处,就是循环语句部分是一个父作用域,而循环体内部是一个单独的子作用域。

for (let i = 0; i < 3; i++) {  let i = 'abc';  console.log(i);}// abc// abc// abc

函数内部的i和外部的i是分离的

 

 

暂时性死区

只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。

var tmp = 123;if (true) {  tmp = 'abc'; // ReferenceError  let tmp;}

上面代码中,存在全局变量tmp,但是块级作用域内let又声明了一个局部变tmp,导致后者绑定这个块级作用域,所以在let声明变量前,对tmp赋值会报错。 

 

ES6中有了块级作用域

function f1() {  let n = 5;  if (true) {    let n = 10;  }  console.log(n); // 5}

 

do表达式 -- 获得块级作用域操作的返回值

let x = do {  let t = f();  t * t + 1;};

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/NathanChen/blog/834327

你可能感兴趣的文章
Yii2---新的模块配置和新的项目添加
查看>>
Linux下Mysql常用命令
查看>>
进阶-中小型网络构建-二层VLAN技术详解配实验步骤
查看>>
LVM逻辑卷管理
查看>>
java crm 进销存 websocket即时聊天发图片文字 好友群组 SSM源码
查看>>
通俗讲解边缘计算,抓住信息革命的浪潮
查看>>
关于适配这件小事的前世今生
查看>>
【JS教程】JS小功能代码片段(一)
查看>>
Gradle 自动构建工具5.2.1发布了
查看>>
死磕 java集合之LinkedHashSet源码分析
查看>>
让WINXP也跑4G内存
查看>>
关于thinkphp 框架开启路径重写,无法获取Authorization Header
查看>>
IntelliJ IDEA 开发 JavaFx
查看>>
用TMG搭建×××服务器(四)---基于PPTP的站点到站点×××
查看>>
datatables表头与数据无法对齐的解决方案
查看>>
Cisco 路由器 secondary address实现RIPV1不连续子网
查看>>
启用 Open vSwitch - 每天5分钟玩转 OpenStack(127)
查看>>
review what i studied `date` - 2017-4-25
查看>>
Windows 2003服务器群集(负载均衡)的安装
查看>>
MySQL不支持InnoDB的解决方法
查看>>