我什么时候应该使用内联与外部Javascript?

2022-08-30 04:28:26

我想知道在性能和易维护性方面,我什么时候应该包含外部脚本或将它们与html代码内联编写。

这样做的一般做法是什么?

实际场景 - 我有几个需要客户端表单验证的html页面。为此,我使用了一个jQuery插件,我将其包含在所有这些页面上。但问题是,我是否:

  • 编写以内联方式配置此脚本的代码位?
  • 将所有位包含在一个文件中,该文件在所有这些html页面之间共享?
  • 将每个位包含在单独的外部文件中,每个html页面一个?

谢谢。


答案 1

在最初发布此答案(2008年)时,规则很简单:所有脚本都应该是外部的。无论是维护还是性能。

(为什么是性能?因为如果代码是单独的,则浏览器可以更轻松地缓存它。

JavaScript不属于HTML代码,如果它包含特殊字符(例如,),它甚至会产生问题。<>

如今,Web可扩展性已经发生了变化。由于发出多个 HTTP 请求的延迟,减少请求数已成为一个有效的考虑因素。这使得答案更加复杂:在大多数情况下,仍然建议使用外部JavaScript。但在某些情况下,尤其是非常小的代码段,将它们内联到网站的HTML中是有意义的。


答案 2

可维护性绝对是将它们保留在外部的一个原因,但是如果配置是单行的(或者通常比将这些文件外部化所获得的HTTP开销更短),那么在性能方面最好将它们保持内联。请记住,每个HTTP请求都会在执行时间和流量方面产生一些开销。

当然,当您的代码长度超过几行并且并不真正特定于单个页面时,这一切都变得无关紧要。当你希望能够重用该代码时,就让它成为外部代码。如果您不这样做,请查看其大小并做出决定。