散人研Blog
不学无术的前端工程师

大前端进阶

ES6 | async和await

散人研阅读(33)评论(0)赞(0)

async和await async 函数是 Generator 函数的语法糖。async函数就是将 Generator 函数的星号(*)替换成async,将yield替换成await。async和await,比起星号和yield,语义更清楚...

ES6 | 异步编程Promise

散人研阅读(19)评论(0)赞(0)

Promise简介 Promise是ES6新增的异步编程方案,比传统的异步方案(回调函数和事件)更合理更强大。Promise简单说就是一个容器,里面保存着一个尚未完成且预计在未来完成的异步操作。 Promise是一个构造函数,可以通过new...

ES6 | Map、Set与Object

散人研阅读(197)评论(0)赞(1)

Map 对象 Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。 Maps 和 Objects 的区别 一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。 Map 中的键值...

ES6 | 类的声明与创建

散人研阅读(145)评论(0)赞(0)

ES5中可以通过构造函数创建类,如下面的例子: 通过构造函数创建类 通过原型添加类方法 通过new创建对象 通过访问构造函数的原型修改方法 在ES6中不用如此麻烦,可以直接通过class创建类 在ES6中使用class和在es5中使用构造函...

ES6 | 深入理解JS中的稀疏数组

散人研阅读(174)评论(0)赞(1)

稀疏数组是什么吗?稀疏数组定义如下: 索引不连续,数组长度大于元素个数的数组被称为稀疏数组。通俗地说就是:有空隙的数组。 在JavaScript中允许存在稀疏数组,看下面的例子: 可以看到,我们在JavaScript很容易看到稀疏数组,那么...

ES6 | 常见遍历数组方式

散人研阅读(547)评论(0)赞(0)

遍历是在JavaScript常见到的操作,本篇文章简单介绍几种常见遍历数组的方法,以及注意事项。 在ES5中遍历数组有以下几种方法: for循环遍历 forEach()遍历 Array.every()遍历 for of遍历 在ES6中新引入...

ES6 | for循环中var和let的区别

散人研阅读(150)评论(0)赞(0)

由于 var 命令的变量提升机制,var 命令实际只会执行一次。 而 let 命令不存在变量提升,所以每次循环都会执行一次,声明一个新变量(但初始化的值不一样)。 for 的每次循环都是不同的块级作用域,let 声明的变量是块级作用域的,所...

ES6 | 当this遇上箭头函数

散人研阅读(189)评论(0)赞(0)

this机制与函数调用有关,而作用域与函数定义有关。ES6中新增的内容——箭头函数,可以将this机制和作用域联系起来。 痛点 闭包的this默认绑定到window对象,但又常常需要访问嵌套函数的this,所以常常在嵌套函数中使用var t...

ES6 | 字符串新方法

散人研阅读(164)评论(0)赞(0)

拓展的方法 子串的识别 ES6 之前判断字符串是否包含子串,用 indexOf 方法,ES6 新增了子串的识别方法。 includes():返回布尔值,判断是否找到参数字符串。 startsWith():返回布尔值,判断参数字符串是否在原字...