没错,第一次做标题党,今天一个朋友问问console.log(undefined == null) 是啥? 我毫不怀疑的说 false 结果......输了一顿兰州拉面,回来痛定思痛,我决定搜一下这个问题
对于true 我的理解
嗯,没错,咱也不知道为啥是 true, 那就逆推唄? undefined 和 null 都是 false ,所有他们是 true ?
结果被打脸了,完全不是这样的:网上找的答案如下:
关于promise的一些理解
先来看一道题
console.log('start')
setTimeout(function(){
console.log('setTimeout')
},0)
new Promise(resolve => {
console.log('p1')
resolve()
})
.then(function(){
console.log('p2')
})
.then(function(){
console.log('p3')
})
.then(function(){
console.log('p4')
})
console.log('end')
答案: start,p1,end,p2,p3,p4,setTimeout 这里的 第一个primise实际上内部是一个同步方法, 至于 p2 p3 p4 在setTimeout 执行,因为 promise 是微任务,而setTimeout 是宏任务
1、接收两个函数作为参数,分别代表fulfilled(成功)和rejected(失败)
2、.then()返回一个新的Promise实例,所以它可以链式调用
3、当前面的Promise状态改变时,.then()根据其最终状态,选择特定的状态响应函数执行
4、状态响应函数可以返回新的promise,或其他值,不返回值也可以我们可以认为它返回了一个null;
5、如果返回新的promise,那么下一级.then()会在新的promise状态改变之后执行
6、如果返回其他任何值,则会立即执行下一级.then()