【ES6系列】Promise

2018-07-02
阅读 9 分钟
1.5k
这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。

【ES6系列】Proxy和Reflect

2018-06-29
阅读 6 分钟
2.8k
本篇目录 Proxy Proxy基本概念 常见的Proxy拦截操作 get set has deleteProperty ownKeys Proxy.revocable() Proxy的this问题 Reflect 设计目的 相关方法 Proxy和Reflect实现观察者模式 小结 猪八戒去高老庄找高翠兰,结果高小姐是孙悟空变的,在这个场景中,对于猪八戒来说,孙悟空可以算是高小姐的一个代理,在长相上来...

【ES6系列】Set和Map

2018-06-14
阅读 6 分钟
2.8k
今天,我们来学习一下ES6中新增的两个数据结构:Set和Map。 Set ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 创建Set数据结构 {代码...} Set实例的创建可以简单通过new方法来实现,同时可以通过传入一个数组格式的参数来实例化。 size属性 size属性返回Set实例的成员总数 {代码....

【ES6系列】Symbol

2018-06-12
阅读 5 分钟
1.8k
最近在学习一些第三方代码,发现里面出现了Symbol字段,由于之前ES6系列梳理有个小暂停,所以本篇开始针对Symbol进行一下学习。 JavaScript 数据类型 在ES6之前,我们所知道的JavaScript 数据类型有: Null Undefined 布尔值(Boolean) 字符串(String) 数值(Number) 对象(Object) 数组(Array) Symbol引入 在我...

【ES6系列】数值的扩展

2018-05-22
阅读 4 分钟
1.6k
1.Number.isFinite(), Number.isNaN() Number.isFinite()用来检查一个数值是否为有限的(finite),即不是Infinity。 {代码...} ※ 参数类型不是数值,一律返回false Number.isNaN()用来检查一个值是否为NaN。 {代码...} ※ 参数类型不是NaN,一律返回false※ NaN === NaN // false 2.Number.parseInt(), Number.parseFloat...

【ES6系列】字符串扩展

2018-05-21
阅读 9 分钟
2k
1.字符串的遍历器 ES6为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历 {代码...} 2.includes(), startsWith(), endsWith() 传统JS中字符串中只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6中提供了三种新方法: includes(): 返回布尔值,表示是否找到了参数字符串 startsWith():...

【ES6系列】变量的解构赋值

2018-05-11
阅读 4 分钟
2.7k
解构赋值(destructuring assignment)语法是一个Javascript表达式,这种语法能够更方便的提取出 Object 或者 Array 中的数据。这种语法可以在接受提取的数据的地方使用,比如一个表达式的左边。有明确的语法模式来告诉我们如何使用这种语法提取需要的数据值。

【ES6系列】函数部分

2018-04-12
阅读 4 分钟
1.4k
其中()中代表的是参数部门,{}中是函数体部分。如果箭头函数不需要参数或者需要多个参数时,需要使用一个()来包裹,当只有一个参数时,可以省略()。

【ES6系列】变量与块级作用域

2018-04-10
阅读 3 分钟
1.2k
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。