摘要: 谈谈对 async/await 的理解,async/await 的实现原理是什么?1)async/await 就是 Generator 的语法糖,使得异步操作变得更加方便2)async 函数就是将 Generator 函数的星号(*)替换成 async,将 yield 替换成await3)async 阅读全文
posted @ 2021-10-21 23:28 jerryfish 阅读(3247) 评论(0) 推荐(0) 编辑
摘要: promisify可以将原本需要通过传入回调参数来实现回调执行(或者叫同步执行)改为利用promise.then的方式来调用,从而实现逻辑上的同步操作。 function promisify(fn) { return function(...args) { return new Promise((r 阅读全文
posted @ 2021-10-21 23:06 jerryfish 阅读(170) 评论(0) 推荐(0) 编辑
摘要: Promise.resolve(value)方法返回一个以给定值解析后的Promise 对象。如果这个值是一个 promise ,那么将返回这个 promise ;如果这个值是thenable(即带有"then" 方法),返回的promise会“跟随”这个thenable的对象,采用它的最终状态;否 阅读全文
posted @ 2021-10-21 21:43 jerryfish 阅读(229) 评论(0) 推荐(0) 编辑
摘要: generator(生成器)是ES6标准引入的新的数据类型。一个generator看上去像一个函数,但可以返回多次。 generator和函数不同的是,generator由function*定义(注意多出的*号),并且,除了return语句,还可以用yield返回多次。 // 生成器可以暂停函数的运 阅读全文
posted @ 2021-10-21 18:29 jerryfish 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 1.数组和字符串的迭代器iterator const arr = [1, 2, 3, 4]; const str = "hello"; function myIterator(arr) { let index = 0; return { next() { if (index < arr.length 阅读全文
posted @ 2021-10-21 16:44 jerryfish 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 了解原型和原型链了解this绑定1 new 运算符简介MDN文档:new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。 class Person { constructor(name) { this.name = name; } } // 创建自定义对象类型的实例 cons 阅读全文
posted @ 2021-10-21 14:39 jerryfish 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 1. const promise = new Promise((resolve, reject) => { console.log(1); resolve(); console.log(2); }) promise.then(() => { console.log(3); }) console.lo 阅读全文
posted @ 2021-10-19 22:21 jerryfish 阅读(338) 评论(0) 推荐(0) 编辑
摘要: Boyer-Moore 投票算法的基本思想是: 在每一轮投票过程中,从数组中删除两个不同的元素,直到投票过程无法继续,此时数组为空或者数组中剩下的元素都相等。 如果数组为空,则数组中不存在主要元素; 如果数组中剩下的元素都相等,则数组中剩下的元素可能为主要元素。 Boyer-Moore 投票算法的步 阅读全文
posted @ 2021-10-01 15:34 jerryfish 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 1.私有属性 面向对象中在类内部才能访问的属性成为私有属性。js的类中属性前面#表示是私有属性。在类的外部无法访问。 class Person{ // 共有属性 name; // 私有属性 #age; #weight; // 构造方法 constructor(name, age, weight){ 阅读全文
posted @ 2021-09-27 00:38 jerryfish 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1.对象的扩展方法 Object.fromEntries 接收二维数组或者Map转化为对象 ES8 Object.entries可以将对象转化为二维数组 这两个方法算是逆运算 // 二维数组 const res = Object.fromEntries([ ['name','字节跳动'], ['jo 阅读全文
posted @ 2021-09-26 23:54 jerryfish 阅读(402) 评论(0) 推荐(0) 编辑