es6学习总结一
一.let与var 的区别
(1).作用域:
let什么的变量在块级作用域内有效,而var声明则在全局作用内有效
(2).变量提升:
let声明的变量不存在变量提升,即一定要在声明之后才能调用,否则就会报错;
而var声明的变量则是存在变量提升的,即在声明之前也是可以调用的,不过结果值为undefined。
(3).暂时性死区:
只要块级作用域内存在let命令,它声明的变量就绑定在这个区域内,即使在全局里面有同名的变量,也跟这个没关系了,在该作用区域内,使用let声明之前,该变量都不可用。
(4)重复声明:
let声明的变量,在同一作用域内是不允许被重复声明的;
而var声明的变量则可以在同一作用域内被重复声明。
二.块级作用域的作用
(1).解决了es5中内层变量可能覆盖外层变量的问题
(2).避免了循环变量泄漏为全局变量
(3).避免内外层变量互相影响
(4)可以替代立即执行函数表达式
es6学习总结一的更多相关文章
- ES6学习目录
前面的话 ES6是JavaScript语言的下一代标准,已经在 2015 年 6 月正式发布.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言 为什么要学 ...
- es6学习笔记-class之继承
继承 上一篇学习了class的概念,在es5时,对象的继承有好几种,原型链继承,借用构造函数继承,组合继承,原型式继承,寄生式继承以及寄生组合式继承,都是按照函数的形式去集成的,现在class也有它的 ...
- es6学习笔记-class之一概念
前段时间复习了面向对象这一部分,其中提到在es6之前,Javasript是没有类的概念的,只从es6之后出现了类的概念和继承.于是乎,花时间学习一下class. 简介 JavaScript 语言中,生 ...
- javascript的ES6学习总结(第二部分)
1.数组循环 介绍数组循环之前,先回顾一下ES5数组的循环 (1)数组遍历(代替普通的for):arr.forEach(callback(val,index,arr){todo}) //val是数组的 ...
- javascript的ES6学习总结(第一部分)
ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...
- ES6学习笔记<五> Module的操作——import、export、as
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...
- ES6学习笔记<四> default、rest、Multi-line Strings
default 参数默认值 在实际开发 有时需要给一些参数默认值. 在ES6之前一般都这么处理参数默认值 function add(val_1,val_2){ val_1 = val_1 || 10; ...
- ES6学习笔记<三> 生成器函数与yield
为什么要把这个内容拿出来单独做一篇学习笔记? 生成器函数比较重要,相对不是很容易理解,单独做一篇笔记详细聊一聊生成器函数. 标题为什么是生成器函数与yield? 生成器函数类似其他服务器端语音中的接口 ...
- ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring
接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...
- ES6学习笔记<一> let const class extends super
学习参考地址1 学习参考地址2 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015:也 ...
随机推荐
- QString字符串拼接【转载】
原文网址:http://www.cnblogs.com/ftrako/p/3481571.html for(intloop=1;loop<2;loop++) { QStringtest1=QSt ...
- BZOJ1047:[HAOI2007]理想的正方形
浅谈队列:https://www.cnblogs.com/AKMer/p/10314965.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...
- python3 之 格式化json
import json json_string = None with open("json_file.json") as f: json_string = f.read() tr ...
- GWT异步更改cellTable中cell的数据显示
项目中遇到一个棘手的问题,使用GWT的cellTable的时候,要更改一个单元格的显示问题.如果仅仅是一个单独的cell 可能会有比较好的处理办法,比如可以找到这一列,然后更新整个cellTable, ...
- GWT中自定义你的"cell"
GWT内部提供了CellTable组件,它允许自由增加column以及cell,在设定column之后就是在其中填充cell了.但GWT所提供的CellTable样式确实不敢恭维,为了解决这一问题,在 ...
- mysql 替换语句
将cdb_pms表subject字段中的Welcom to替换成 欢迎光临 UPDATE `cdb_pms` SET `subject` = REPLACE(`subject`, 'Welcome t ...
- maven打包指定main函数的入口,生成依赖的包
为了使Jar包中指定Main方法位置和生成依赖包,需要在pom文件中加入如下配置: <build> <plugins> <plugin> <groupId&g ...
- MySQL 常用启动,关闭,登录脚本
MySQL 常用启动,关闭,登录脚本 规范化mysql的启动,关闭,登录 1 cat mysql_env.ini #set env MYSQL_USER=system #注意用户权限 MYSQL_PA ...
- windows异常演示,指定异常类型,然后生成异常
#include "stdafx.h"#include <Windows.h>#include <float.h> DWORD Filter (LPEXCE ...
- flask 电影系统(2)
标签,电影,上映预告数据模型设计 标签数据类型 id:编号 name:标题 movies:电影外键关联 addtime:创建时间 定义电影数据模型 id:编号 title:电影标题 url:电影地址 ...