Javascript 以下函数的哪个部分使其异步?

Javascript 以下函数的哪个部分使其异步?,javascript,asynchronous,dom,Javascript,Asynchronous,Dom,我正在学习javaScript,刚刚开始讨论承诺、异步等待、获取等主题。 在线阅读教程时,它将以下代码描述为异步 function loadScript(src) { let script = document.createElement('script'); script.src = src; document.head.append(script); } 我了解到javascript将所有异步工作交给浏览器,比如http请求,因为它们需要时间,可能会阻塞javascript中的流 请向我指

我正在学习javaScript,刚刚开始讨论承诺、异步等待、获取等主题。 在线阅读教程时,它将以下代码描述为异步

function loadScript(src) {
let script = document.createElement('script');
script.src = src;
document.head.append(script);
}
我了解到javascript将所有异步工作交给浏览器,比如http请求,因为它们需要时间,可能会阻塞javascript中的流

请向我指出上面的代码是如何异步的? 它的哪一部分是异步的?是因为我们使用的是文档对象吗? 文档对象中的所有方法是否都是异步的并由浏览器处理? 还是别的什么


这是本教程的链接,如果我误解了什么,很抱歉。

脚本标记本身需要加载url,因此这是异步的部分。脚本加载由浏览器处理。

脚本标记本身需要加载url,因此这是异步的部分。脚本加载由浏览器处理。

这是异步的,因为您使用
src
URL从服务器获取脚本代码。它必须发送一个网络请求,并且在服务器响应之前,代码不会插入到DOM中并执行


修改DOM本身是同步的,但是许多元素会导致网络请求被发送并等待。示例有
这是异步的,因为您使用
src
URL从服务器获取脚本代码。它必须发送一个网络请求,并且在服务器响应之前,代码不会插入到DOM中并执行


修改DOM本身是同步的,但是许多元素会导致网络请求被发送并等待。例如

如果您指的是动态创建的
脚本
元素的行为就好像它们设置了
异步
属性一样,如下所示:

脚本元素有一个标志,指示该元素是否为“非阻塞”。最初,脚本元素必须设置此标志。它由HTML解析器和XML解析器在它们插入的脚本元素上取消设置。此外,每当设置了“非阻塞”标志的脚本元素添加了异步内容属性时,该元素的“非阻塞”标志必须取消设置


…但是,即使脚本元素没有设置
async
,源代码的下载仍将异步进行
async
只是说“在等待下载时,不要阻止进一步的HTML解析或JavaScript执行。”注入脚本的代码仍将完成运行,但是页面上的任何后续脚本元素都将等待阻止脚本下载。

如果您指的是动态创建的
script
元素的行为就像它们设置了
async
属性一样,则概述如下:

脚本元素有一个标志,指示该元素是否为“非阻塞”。最初,脚本元素必须设置此标志。它由HTML解析器和XML解析器在它们插入的脚本元素上取消设置。此外,每当设置了“非阻塞”标志的脚本元素添加了异步内容属性时,该元素的“非阻塞”标志必须取消设置


…但是,即使脚本元素没有设置
async
,源代码的下载仍将异步进行
async
只是说“在等待下载时不要阻止进一步的HTML解析或JavaScript执行。”注入脚本的代码仍将完成运行,但页面上的任何后续脚本元素将等待阻止脚本下载。

请链接提出此声明的教程。不,任何地方都没有异步方法。使代码异步的方法是在
script
元素上安装
load
处理程序,因为回调将异步调用。添加了到description.Ah的链接。嗯,那页解释得很好,你读了吗?脚本是“异步”执行的,因为它现在开始加载,但在函数完成后运行。这不是关于
loadScript
本身是异步的,而是关于启动一个异步操作。请链接提出此声明的教程。不,任何地方都没有异步方法。使代码异步的方法是在
script
元素上安装
load
处理程序,因为回调将异步调用。添加了到description.Ah的链接。嗯,那页解释得很好,你读了吗?脚本是“异步”执行的,因为它现在开始加载,但在函数完成后运行。它不是关于
loadScript
本身是异步的,而是关于启动一个异步操作。