重复加载的 Javascript 文件会被解析多次吗?

Do duplicately loaded Javascript files get parsed multiple times?

这个问题来自页面速度的角度。

如果同一个文件被加载两次,并且由于外部原因我无法避免这种情况:

<script src="/src/file.js"></script>
<script src="/src/file.js"></script>

启用浏览器缓存后,第二次提供文件应该很快。

但是,文件会再次被解析吗?

据我所知,JS 解析会中断页面​​绘制,因此如果它再次被解析,就会出现问题。

是的,他们有!每次加载文件时执行加载的 JavaScript 个文件中的代码 运行。

这可能会导致有意或无意的副作用 - 通常全局变量会被清除。

虽然可能会发生更糟糕的事情,例如多个事件侦听器或绑定附加到 DOM 元素。