代码执行规则
代码运行时,JavaScript维护三个空间分别是 执行栈 异步任务处理区 任务队列
根据代码的同步还是异步JavaScript会做出以下操作:
1.先执行,执行栈中的同步任务
2.当遇到异步任务,将其放入异步任务处理区中,而后继续执行下面的同步任务
3.当异步任务(如绑定的事件或计时器),在异步任务处理区中被触发JavaScript会按照触发顺序先后将其放入任务队列中等待被调用
4.一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列中的异步任务,于是被读取的异步任务结束等待状态,进入执行栈,开始执行。
注意:执行栈中同步任务执行完后,将任务队列中的异步任务放入执行栈最下方开始执行