gpt4 book ai didi

javascript - 引用单独的 JS 文件与一个 JS 文件

转载 作者:数据小太阳 更新时间:2023-10-29 05:05:32 27 4
gpt4 key购买 nike

哪个会带来更高的速度/效率:为目录中的所有文件引用一个 JavaScript 文件,还是为目录中的每个文件引用不同的 JavaScript 文件?

基本上,在所有网页中引用相同的 JavaScript 文件与在每个网页中引用唯一的 JavaScript 文件。

注意:我认为引用单个文件会更慢,因为其中的代码对某些文件来说已经过时,因此运行无用的代码并导致文件运行效率降低。

最佳答案

其中涉及权衡取舍,因此您最终可能需要衡量您的具体情况才能确定。但是,我将解释一些权衡。

  1. 如果您有仅在一个或几个页面中使用的大量数据或大量代码,那么您可能希望将其分离到自己的文件中所以你只能加载它,初始化它并让它在实际需要时占用内存。但是,请注意现代计算机(甚至现在的手机)的内存量,数据或代码必须非常大才能保证单独下载。

  2. 除了第 1 项,您几乎总是希望优化以获得最大缓存效率。从缓存中检索文件(甚至比需要的文件更大)比通过网络检索您真正想要优化缓存的任何文件(即使是小文件)快得多。而且,检索这些文件的时间通常使任何 JS 解析时间相形见绌(如今的 CPU 非常快),因此触发额外下载以节省一些 JS 解析时间不太可能更快。

  3. 优化缓存的最佳方法是让您的大部分页面引用相同的通用脚本文件。然后,当观众第一次访问您的网站时,它们会加载一次,所有后续加载都直接来自浏览器缓存。这是理想的。这种缓存效率很容易克服在某些页面中未使用的主文件中存在一些未使用或未触发的代码。

  4. 大量的小下载(即使来自缓存)的效率低于一次较大的下载。更多的独立请求通常对浏览器或服务器来说效率不高。因此,将 JS 文件组合成更大的串联文件通常是一件好事。

  5. 所有这些都是有限制的。如果您有 100 个独立页面的完全独立的代码,所有这些页面都连接在一起,并且每段代码都会在 DOM 中搜索多个页面元素(而不是99% 的时间都能找到它们),那么这也可能不是一种有效的做事方式。但是,通常您可以根据高级类名将事物分成几类,从而使您的共享代码更智能。因此,例如,基于 <body> 上存在的类名标签,然后您将只运行部分初始化代码,跳过其余部分,因为它的分类不存在。因此,在组合代码时(其中大部分代码与任何给定页面都不相关),明智的做法是明智地决定共享文件中要实际运行的初始化代码。

关于javascript - 引用单独的 JS 文件与一个 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32032522/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com