摘要: 1 /* 2 尽可能还原 Promise 中的每一个 API, 并通过注释的方式描述思路和原理. 3 */ 4 5 6 // 定义三个状态 7 const PENDING = "PENDING"; 8 const RESOLVED = "RESOLVED"; 9 const REJECTED = ' 阅读全文
posted @ 2021-06-29 19:22 一个动态类型的幽灵 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 1. 请说出下列最终执行结果,并解释为什么? var a = [];for(var i = 0; i < 10; i++) { a[i] = function() { console.log(i) }}a[6]() 输出10 var没有块级作用域,声明的变量直接到全局 当for循环执行完成时候,全局 阅读全文
posted @ 2021-06-29 19:08 一个动态类型的幽灵 阅读(270) 评论(0) 推荐(0) 编辑
摘要: js代码本身的执行是单线程同步执行,但是浏览器是多线程的,可以把异步任务通过浏览器线程进行计算,当需要执行的时候,再根据宏任务或微任务放入到对应队列,排队等待执行,就是js的异步编程,都是基于回调进行实现 eventLoop线程主要来负责主线程和其他线程的通信,假如消息读取完成需要主程序执行代码,或 阅读全文
posted @ 2021-06-29 19:01 一个动态类型的幽灵 阅读(92) 评论(0) 推荐(0) 编辑
摘要: Array 原型上有很多数组的方法。例如 map, every, some,filter,forEach等,今天我们就使用高阶函数来mock以上的功能。 以上方法怎么使用,就不再举例说明了,大家应该都用的滚瓜烂熟了。常用的使用模式都是这样的。 [1,2,3,4,5].forEach((item, i 阅读全文
posted @ 2021-06-29 14:31 一个动态类型的幽灵 阅读(43) 评论(0) 推荐(0) 编辑