Javascript “如何理解”一词;“非阻塞”;脚本标签在规范中的位置?

Javascript “如何理解”一词;“非阻塞”;脚本标签在规范中的位置?,javascript,google-chrome,chromium,specifications,w3c,Javascript,Google Chrome,Chromium,Specifications,W3c,在: 第三个是一个标志,指示元素是否为“非阻塞”。最初,脚本元素必须设置此标志。它由HTML解析器和XML解析器在它们插入的脚本元素上取消设置。此外,每当设置了“非阻塞”标志的脚本元素添加了异步内容属性时,该元素的“非阻塞”标志必须取消设置 对不起,我不明白这是什么意思。这里有一些问题: 一, 第三个是一个标志,指示元素是否为“非阻塞”。最初,脚本元素必须设置此标志 “Initially”表示HTMLScriptElement类中有一个名为non blocking的属性,默认值为true,或者表

在:

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

对不起,我不明白这是什么意思。这里有一些问题:

一,

第三个是一个标志,指示元素是否为“非阻塞”。最初,脚本元素必须设置此标志

“Initially”表示
HTMLScriptElement类
中有一个名为
non blocking
的属性,默认值为
true
,或者表示脚本元素在被HTML解析器解析之前创建或实例化时为
true

二,

它由HTML解析器和XML解析器在它们插入的脚本元素上取消设置

“插入”表示脚本元素通过使用
document.write
或操作插入到文档中

三,

此外,每当设置了“非阻塞”标志的脚本元素添加了异步内容属性时,该元素的“非阻塞”标志必须取消设置

async
链接到,但是有一个词“content”,那么它到底是什么意思?从服务器或本地获取的属性或内容

如果它表示内容,它是否表示HTML解析器将在添加异步内容之前继续解析脚本元素的后续字节?(我编写了一些测试,我认为这是错误的)

4,最重要的是,“非阻塞”是否意味着不象我们通常谈论的那样阻塞IO、获取资源、更新布局、重绘等?还是有其他含义?而且规范说“最初,脚本元素必须有这个标志集”,但是我们经常认为<代码>脚本<代码>是“阻塞”(确切地说是执行时),所以当我第一次读到这篇文章的时候,我有点怀疑。有人能澄清我的怀疑吗

5.最后,规范是否有实现(确切地说是可以方便调试的src代码)?我认为基于chrome更好,对不起,我不是说别人不好,因为我只安装chrome

  • 我不明白这种区别。实现选择了哪一个会有什么功能上的区别

  • 插入操作<代码>文档。写入不插入文档。它将字符注入解析器处理的输入字节流

  • 在HTML5规范中,有两种类型的“属性”。“内容属性”和“IDL属性”。“内容属性”是您放在标记中的内容:
    是异步内容属性。“IDL属性”是大多数人认为JavaScript
    myScriptElement.async
    中的属性

  • 这意味着不阻塞解析器线程。解析器从输入流中获取字符并创建元素、文本节点对象等。当解析器被阻止时,它停止使用输入流中的字符。(尽管它可能会在输入流中向前看,猜测是否会要求它获取其他资源,并推测是否会获取它们)。当看到
    标记时,如果未设置非阻塞标志,解析器将不会使用当前输入流中的任何其他字符,直到获取并运行脚本。这允许脚本包含
    document.write
    以将字符注入到输入流中,以便下一步对其进行解析

  • Chrome(blink)和Firefox(gecko)都是开源的,但就我个人而言,我还没有尝试过详细检查任何一个代码库,所以我不知道它们有多困难。无论如何,这可能是个人的偏好


  • 谢谢你的回答。现在我想我明白了。