Javascript 将async属性的行为描述为将脚本标记尽快移动到宏任务队列';有子弹吗?

Javascript 将async属性的行为描述为将脚本标记尽快移动到宏任务队列';有子弹吗?,javascript,html,Javascript,Html,当脚本具有async属性时,它被描述为:“加载后立即执行” 假设浏览器最初正在加载页面。它遇到了一个带有async属性的脚本标记(我们称之为脚本标记1)。因此,它开始加载它。然后它移动到另一个(常规)脚本标记(我们称之为脚本标记2)。脚本标记2加载并开始执行。脚本标记2正在执行时,脚本标记1已完成加载。当然,脚本标记1仅在脚本标记2完成执行(即脱离主堆栈)时执行 将async属性的行为描述为一旦加载脚本标记就将其移动到宏任务队列是否更准确?错误的推理。当我们谈论同步时,我们谈论的是两个或更多的元

当脚本具有
async
属性时,它被描述为:“加载后立即执行”

假设浏览器最初正在加载页面。它遇到了一个带有
async
属性的脚本标记(我们称之为脚本标记1)。因此,它开始加载它。然后它移动到另一个(常规)脚本标记(我们称之为脚本标记2)。脚本标记2加载并开始执行。脚本标记2正在执行时,脚本标记1已完成加载。当然,脚本标记1仅在脚本标记2完成执行(即脱离主堆栈)时执行


将async属性的行为描述为一旦加载脚本标记就将其移动到宏任务队列是否更准确?

错误的推理。当我们谈论同步时,我们谈论的是两个或更多的元素。如果其中任何一个脚本是“异步”的,则表示它不关心HTML的其他部分来执行其任务。@user2864740删除两个脚本之间的所有顺序意味着什么?感谢@user2864740的响应。这是如何回答我的问题的呢?谢谢你的回答@MisterJojo。您介意将它放在我在问题中给出的示例的上下文中吗?“它一加载就执行”隐含地意味着它被安排作为一个宏任务来执行,就像javascript中的其他所有内容一样。对
async
属性的描述是为了将其与同步加载和执行脚本区分开来。和其他事情一样,这是一种简化——我们忽略了与当前上下文无关的细节。