
1.先执行同步任务
把1打印出来
再执行第二句话,onclick,里面有个回调函数function()
把function()提交给异步进程处理。只有点击了
异步进程处理才会把回调函数交给任务队列处理,不点击,则不会
然后执行log(2),把2打印出来
最后把setTimeout里面的回调函数交给,异步进程处理,
3s后异步进程处理不会这个回调函数交给任务队列,
写进去不会立即执行,除非同步任务执行完毕,才会执行异步任务
当同步任务完成了,再看任务队列中有任务没有
此时任务队列有function(){log(‘3s后执行’)}这个回调函数
然后把这个函数拿到主线程执行栈里执行。然后打印输出
最后点击一下鼠标,异步进程处理会把:click这个回调函数,拿到任务队列
然后又被主线程执行线,执行,打印click