console.log(1); setTimeout(() => { console.log(2) }, 0); Promise.resolve() .then(() => { console.log(3) }) .then(() => { console.log(4) }) .then(()=>{console.log(6)}) console.log(5); 这串代码在chrome浏览器中能够符合文章中的macrotask和microtask运行优先级的说法;但是放到Safari中就很诡异 safari版本 10.0.3 (12602.4.8)