JavaScript是从上到下执行的吗?

ale*_*nco 7 javascript

代码(例如函数)是同时执行还是按照编写顺序(从上到下)执行?我知道订单在HTML中很重要,JavaScript怎么样?

例如,如果一个接一个地有两个函数调用,它们是同时执行还是一个接一个地执行,即使它们彼此无关?

Ric*_*ich 8

看起来好像Javascript函数以不可预测的顺序执行,因为浏览器中的Javascript模型是事件驱动的.这意味着Javascript程序通常将事件处理程序附加到DOM元素,这些由用户操作触发,例如单击或在元素上移动指针.但是,设置事件处理程序的脚本作为传统的结构化命令式程序运行.

更复杂的是现代Javascript应用程序广泛使用异步函数.这意味着函数调用可能会快速返回,但会启动一个稍后完成的操作.一个明显的例子是在所谓的AJAX应用程序中向服务器发送请求.通常,请求函数传递一个回调函数,该函数在请求完成时调用.但是,Javascript程序将继续执行下一个语句,而无需等待请求的完成.如果你没有清楚地思考你的程序实际在做什么,这可能会有些混乱.

您有时可能会遇到的另一个例子是在jQuery中启动动画.这些也是异步工作,你可以传递一个在动画完成后运行的回调函数.如果您期望在动画完成之后而不是在动画开始之后执行下一个语句,这有时会令人惊讶.