代码(例如函数)是同时执行还是按照编写顺序(从上到下)执行?我知道订单在HTML中很重要,JavaScript怎么样?
例如,如果一个接一个地有两个函数调用,它们会同时执行还是一个接一个地执行,即使它们彼此无关?
答案 0 :(得分:6)
似乎Javascript函数以不可预测的顺序执行,因为浏览器中Javascript的模型是事件驱动的。这意味着Javascript程序通常将事件处理程序附加到DOM元素,这些由用户操作触发,例如单击或在元素上移动指针。但是,设置事件处理程序的脚本作为传统的结构化命令式程序运行。
更复杂的是现代Javascript应用程序广泛使用异步函数。这意味着函数调用可能会快速返回,但会启动一个稍后完成的操作。一个明显的例子是在所谓的AJAX应用程序中向服务器发送请求。通常,请求函数传递一个回调函数,该函数在请求完成时调用。但是,Javascript程序将继续执行下一个语句,而无需等待请求的完成。如果你没有清楚地思考你的程序实际上在做什么,这可能会有些混乱。
您有时可能遇到的另一个例子是在jQuery中启动动画。这些也是异步工作,你可以传递一个在动画完成后运行的回调函数。如果您期望在动画完成后而不是在动画开始之后执行下一个语句,这有时会令人惊讶。
答案 1 :(得分:1)
它按照写入的顺序发生(有各种例外)。更具体地说,它是一种基于脚本语言的命令式结构化面向对象原型:)