当我看到此声明时,我正在查看sc.parallelize()
标记的async
和defer
属性的WHATWG规范:
Classic scripts可以指定
<script>
或defer
; module scripts可以指定async
。
我仔细阅读了经典和模块脚本的WHATWG定义,但并未真正清晰明了。有人可以像我一样向我解释Javascript中经典和模块脚本之间的区别吗?
答案 0 :(得分:4)
以下是我从多篇文章中注意到的区别。如果您需要更多详细信息,请阅读网络上的完整文章:
答案 1 :(得分:3)
经典脚本只是您所知道的标准JavaScript脚本。 模块脚本是包含ES6 module的脚本,即它使用(或:可以使用)import
和export
声明。
来自§8.1.3.8 Integration with the JavaScript module system:
JavaScript规范定义了模块的语法,以及 一些与主机无关的处理模型部分。这个规范 定义其处理模型的其余部分:模块系统如何 通过设置为
script
属性的type
元素进行自举"module"
,以及如何获取,解析和执行模块。 [JAVASCRIPT]注意:虽然JavaScript规范是用&#34;脚本&#34;来说的。与&#34;模块&#34;,通常这个规范说明 classic scripts的条款 与module scripts对比, 因为他们都使用脚本元素。