js 单线程 如何理解Promise 对象

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值