我们的JavaScript代码常常在HTML和CSS构造之后才会运行,因而JavaScript代码常常放于HTML的body底部
但是window的窗口加载事件可以改变我们的JavaScript书写位置...执行机制
在了解JavaScript的执行机制前,我们需要先了解JavaScript的基本信息:
JavaScript是单线程,在同一时间只能做一件事
因为我们JavaScript是为了操作DOM和BOM...,我们在进行操作时不可能同时创建和删除,所以JavaScript被设置为单线程
但是,JavaScript的单线程注定了JavaScript的效率低下,我们的所有任务都需要进行排队,但如果其中有一项任务等待时间较长...,就会导致后面的任务不进行,造成页面渲染不连贯
所以在HTML5中,允许JavaScript脚本建立多个线程,于是出现了同步和异步:
同步:
前一个任务执行完毕后,后一个任务才能执行
异步:
可以同时处理多个任务...等
资源加载 : 如load,error等
定时器: 包括Timeout,Interval等
因而JavaScript的执行机制如下:
先执行执行栈中的同步任务
异步任务(回调函数)放入任务队列中
一旦执行栈的所有同步任务执行完毕