1: 想理解promise 就得知道js 执行顺序, 这里顺便讲一下同步和异步。
首先要讲一下, js 是单线程执行, 那么代码的执行就会有先后顺序; 就会有先后顺序之分。
又先后顺序之分, 就要有规则(排队), 不然就乱套了, 那么如何分先后顺序呢? 大体可以分为两步: 同步和异步。
2: 异步定时器 [setTimeout, setInterval] 事件, ajax, promise 等。 然后异步又分为两种: 宏任务和微任务。
3: 宏任务: js 异步执行过程中遇到的宏任务, 就先执行宏任务, 将宏任务加入执行队列 (event queue), 然后再去执行微任务。
4: 微任务: js 异步执行过程中遇到宏任务, 也会将任务加入到执行队列中 (event queue), 但是注意这两个queue 身份是不一样的, 不是你先进来, 就你先出去, 真正执行的时候就是微任务里拿对应的回调函数, 然后才轮回到宏任务的队列上来。
5: Object.is() 方法 与 原来比较操作符 ===, == 区别?
== 相等运算符, 比较时不进行数据类型转换
=== 严格相等运算符, 比较时不进行隐式转换
Object.is() 方法是同值相等算法, 在 === 基础上对0 和 NAN 特别处理。
6: NAN === NAN // false;
7: Obect.is(+0, -0); // false
8: Object.is(NAN, NAN) // true
10-14
1587
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-13
539
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-24
302
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-22
1756
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-27
3031
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交