1
<script type="text/javascript" src="/scripts/a.js"></script>
<script type="text/javascript" src="/scripts/b.js"></script>

我有两个简单的 JS 脚本,按上述顺序加载。a.js具有对函数的引用,例如foo()b.js中,即a.js调用在b.jsfoo()中定义的函数。在某些服务器上,由于在执行a.js时无法识别而引发错误;在其他一些机器上,没有抛出错误。foo()

这两个脚本是否同时并行加载?或者,按顺序?答案是否取决于服务器的架构(例如多核等)?

谢谢。

4

1 回答 1

4

下载可能是并行的,也可能不是并行的(取决于浏览器),但脚本的解析是按照它们在页面上放置的顺序进行的。

如果您使用该顺序(a.jsbefore b.js),foo()声明 inb.js但调用 in a.js,这将导致错误,因为foo()在它存在之前被调用。

这与 JS 库鼓励您在任何用户脚本之前加载其脚本的原因相同。这样,它们的引用在您使用它们之前就已经存在。

于 2012-05-09T07:47:58.260 回答