var存在声明提升 ==>先上车,后买票
var声明的变量会挂载到window下面
console.log(num)//undefined
var num=10
块级作用域先声明,后使用展示性死区,比如先试用后声明相同作用域下,不能声明相同的变量 console.log(num)let num = 1
块级作用域初始化(必须赋值)内存地址所保存的数据不可以改变ES6引入了reset参数取代arguments对象,reset接受的是一个数组
直接在函数的形参写(…values)
ES6 允许使用“箭头”(=>)定义函数。
箭头函数和function函数的区别 :
父级匿名函数,而普通函数可以是具名也可以是匿名构造函数实例化对象,而普通函数可以arguments映射关系返回一个新的数组过滤出对应的数组第一个元素的值。否则返回 undefined。所有都满足条件才会返回true,否则返回false累计器 对数组每个元素执行一次回调函数,每一次运行回调函数之前计算的结果作为参数传入,最终将其返回Set类似于数组,但是成员的值都是
唯一的,没有重复的值
Set本身是一个构造函数
size :获取Set实例的元素个数add : 添加元素has : 查询Set实例是否存在某个元素(返回布尔值)delete : 删除Set实例中某个元素clear : 清空Set实例Set主要的应用场景是对数组进行去重
map本质上是键值对的集合,它的键不限于字符串,
===的判断key => value 的结构,需要字符串以外的键或者值Promise是ES6新增的构造函数,比传统的解决方案更合理和强大
Promise简单来说就是一个容器,里面保存这未来才会结束的事件(通常是一个异步操作)
进行中变失败,进行中变成功,只要这两种情况发生,状态就不会改变了,这是称为resolved(已定型)Promise.prototype上的方法:
then() : 实例状态改变的回调函数,有两个参数:第一个是成功回调函数,第二个是失败回调函数。他会返回一个全新的promise,因此可以继续then链式调用catch() : 失败回调函数,状态变为rejected执行。相当于promise. prototytype.then(null/undifined,rejection),如果promise内发生了错误,但却没有定义catch(),这时运行到这一行代码会报错,但是不会影响到promise后面代码的执行finally() : Promise实例无论什么状态都会执行的函数all():将多个promise实例包装成一个新的promise实例ES6支持模块化的导入和导出
按需导入 : import {} from “”按需导出 : export 导出的内容默认导入 : import 名字 from “”默认导出 : export default 导出的内容下一篇:C++数据结构之堆栈