JavaScript的导入顺序是否重要?

5

我有一个aspx页面,导入了jQuery、jTemplate和Flexigrid。

    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script src="Scripts/flexigrid.pack.js" type="text/javascript"></script>
    <script src="Scripts/jquery-jtemplates.js" type="text/javascript"></script>
    <script src="Scripts/jquery.json-1.3.min.js" type="text/javascript"></script>

上面导入语句的顺序是否重要?

1
是的,脚本是同步加载的,按顺序加载,因此如果脚本B依赖于脚本A,则应确保出现在B之前的<script>标签为A - LukeH
快进到2020年,我简直不敢相信这曾经是个问题。现在有了importrequire,顺序已经不再重要,但在HTML中的顺序仍然很重要。 - dance2die
1个回答

10
是的,如果一个脚本在其初始加载期间使用了另一个脚本定义的任何内容。每个脚本都按顺序同步加载和评估。(如果浏览器希望下载可以并行进行,但它们将按顺序评估,除非指定并由浏览器支持 deferasync属性)。
因此,例如,我猜至少最后两个脚本使用第一个脚本定义的jQuery符号,因此它们必须出现在它之后,否则您将看到类似ReferenceError:jQuery未定义的错误。 无关的脚本的顺序无关紧要,但在它们彼此构建的情况下(如本例),则需要注意顺序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接