达拉~ 2022-05-20 16:28 采纳率: 64.7%
浏览 28
已结题

关于new promise的执行顺序问题

我的理解是首先声明a,然后打印,然后把promise对象赋值给a,打印a应该是promie但是打印undefined,最后才赋值给a然后打印promise
也就是说它执行new Promise的时候跳过了赋值操作,先去打印了a,但是这是为什么呢?第二种写法也会把a打印出来啊

<script>
        let a
        console.log(a)//undefined

        a = new Promise((resolve, reject) => {
            console.log(a)//undefined
        })
        console.log(a)//promise
//但是我这样写就会把函数打印出来
 let a
        console.log(a)
        a = function () {
            console.log(a)
        }
        a()
        console.log(a)
</script>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月28日
    • 创建了问题 5月20日