当前位置: 首页 > 面试题库 >

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

戎志勇
2023-03-14
问题内容

我想知道什么时候应该包括外部脚本或将它们与html代码内联,以提高性能和简化维护。

一般做法是什么?

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

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

谢谢。


问题答案:

在最初发布此答案(2008年)时,规则很简单:所有脚本都应在外部。兼顾维护和性能。

(为什么要执行性能?因为如果代码是分开的,则浏览器可以更轻松地缓存它。)

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

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



 类似资料:
  • 问题内容: 使用CROSS APPLY的主要目的是什么? 我已经读过(模糊地通过Internet上的帖子),cross apply如果您要进行分区,则在选择大型数据集时可能会更有效率。(想起分页) 我也知道,CROSS APPLY不需要UDF作为右表。 在大多数INNER JOIN查询(一对多关系)中,我可以将它们重写为use CROSS APPLY,但它们始终会为我提供等效的执行计划。 任何人都

  • 问题内容: 我知道他们两个都禁用了Nagle的算法。 我什么时候应该/不应该使用它们中的每一个? 问题答案: 首先,不是所有人都禁用Nagle的算法。 Nagle的算法用于减少有线中更多的小型网络数据包。该算法是:如果数据小于限制(通常是MSS),请等待直到收到先前发送的数据包的ACK,同时累积用户的数据。然后发送累积的数据。 这将对telnet等应用程序有所帮​​助。但是,在发送流数据时,等待A

  • 问题内容: 在该类中,有两个字符串,和。 有什么不同?我什么时候应该使用另一个? 问题答案: 如果你的意思是和则: 用于在文件路径列表中分隔各个文件路径。考虑在上的环境变量。您使用a分隔文件路径,因此在上将是;。 是或用于拆分到特定文件的路径。例如在上,或

  • 问题内容: 这不是一个关于之间的差异问题 和 。 我知道对象不能接受键或值条目的值,它是同步集合,并且使用的内存比少。 我想知道哪种情况更适合使用a 而不是a 。 问题答案: 这不是一个关于之间的差异问题和 好吧,真的。。。 我想知道哪种情况更适合使用a 而不是a 。 正是在您 想要 两者之间的差异时: 当您想在Java 1.1上运行时 当您希望每个操作都进行同步时(只要您从不迭代它,就可以得到一

  • 问题内容: 在集成我以前从未使用过的Django应用程序时,我发现了用于定义类中函数的两种不同方式。作者似乎非常有意地使用了它们。第一个是我自己经常使用的: 另一个是我不使用的,主要是因为我不知道何时使用它,以及什么用途: 在Python文档中,装饰器的解释如下: 类方法将类作为隐式第一个参数接收,就像实例方法接收实例一样。 所以我想指的是自己(而不是实例)。我不完全理解为什么会这样,因为我总是可

  • 问题内容: 我看过各种文章,但我仍然不知道为什么不应该使用它。请让我知道您的想法。 问题答案: 我发现有必要在错误的设计中使用instanceof提示。可以肯定的是,将会出现一个大型,复杂的开关风格的构造。在我看到的其他大多数情况下,我们应该使用多态而不是instanceof。请参阅策略模式。(相关的使用示例) 我唯一需要使用的是实现时。