gpt4 book ai didi

javascript - JavaScript 什么时候是同步的?

转载 作者:行者123 更新时间:2023-11-28 07:33:56 25 4
gpt4 key购买 nike

我一直认为 JavaScript 总是异步的。然而,我了解到有些情况并非如此(即 DOM 操作)。关于何时同步、何时异步,是否有一个很好的引用? jQuery 对此有影响吗?

最佳答案

JavaScript 始终是同步且单线程的。如果您在页面上执行 JavaScript 代码块,则当前不会执行该页面上的其他 JavaScript。

JavaScript 只是在可以进行 Ajax 调用的意义上才是异步的。 Ajax 调用将停止执行,其他代码将能够执行,直到调用返回(成功或失败),此时回调将同步运行。此时不会运行其他代码。它不会中断当前正在运行的任何其他代码。

JavaScript 计时器使用相同类型的回调进行操作。

将 JavaScript 描述为异步可能会产生误导。更准确的说法是,JavaScript 是同步的、单线程的,具有各种回调机制。

jQuery 在 Ajax 调用上有一个选项,可以使它们同步(使用 async: false 选项)。初学者可能会错误地使用它,因为它允许人们可能更习惯的更传统的编程模型。它有问题的原因是此选项将阻止页面上的所有 JavaScript,直到完成为止,包括所有事件处理程序和计时器。

关于javascript - JavaScript 什么时候是同步的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com