在页面上编写多个单独的<script>是正确的吗?</script>

时间:2010-04-23 12:50:50

标签: javascript performance

在编写JavaScript代码时,我使用<script>标记

分隔每个代码块
<script type="text/javascript">
 //---- code block 1--------- 
</script>   

<script type="text/javascript">
    ----code block 2-----
</script>

<script type="text/javascript">
$(document).ready.(function(){
 // code block3
});
</script>

我想知道在同一页面上单独编写<script type="text/javascript"></script>是一种好习惯

- 或 -

我们必须在一个<script>

下编写所有JavaScript代码

各方面的技术差异是什么?

9 个答案:

答案 0 :(得分:5)

好吧,您可能想问问自己为什么您的代码组织方案会导致该设置,以及它是否会导致维护或可理解性问题,但我认为这不是严格的“坏”。现在,如果您的<script>标签实际上是从服务器中获取单独的文件,那么最好减少它们。

浏览器以其他工作停止的方式解析和解释脚本标记,因此如果页面顶部的Javascript块大量工作,可能会减慢速度。但是,无论你有大块代码还是几个较小的块,都是如此。

转移到单独的脚本文件的一个优点是您可以在多个页面上重复使用代码。当您这样做时,使用YUICompressor或其他类似工具压缩脚本可能更容易在构建时。

答案 1 :(得分:3)

执行此操作的最佳理由是,每个脚本代表一个独立的功能块,这些功能可能不会在每个页面上使用(因此不会被使用)。在这种情况下,它成为一种明智的策略。

答案 2 :(得分:1)

拥有多个<script>标记在性能方面没有实质性差异,但可读性较差。

答案 3 :(得分:1)

有一个边缘情况,多个脚本块可以有所作为(我刚刚了解它)。如果一行代码references a value before it has been declared,如果代码属于同一个脚本块,则它将起作用,但如果它们是分开的则不行。但这并没有改变每个人给你的答案:它在日常编码中可能无关紧要。

答案 4 :(得分:0)

除非你想清楚地分隔代码块,否则你没有,但它显然更干净。

答案 5 :(得分:0)

将所有javascript编码分开放置,然后调用文件名。因为这是好事。编码执行是一步一步的,因此如果编码之间存在js则需要时间。

答案 6 :(得分:0)

不好,但不是问题。

答案 7 :(得分:0)

Hunter是对的,就性能而言,它绝对没有区别。

当您的javascript变得更加复杂时,您可能希望开始构建自己的各种API并将所有这些标记拆分为单独的文件。然后,当您部署应用程序时,找到某种包装解决方案,将所有这些文件合并到一个文件中,使用YUI压缩器或Google Closure压缩它,并使用一个引用此文件的单个标记。< / p>

虽然对此文件强制单独的http请求是一个“轻微”的缺点,但如果打包正确,则文件大小将小于您在该文件中包含的未压缩代码。

在页面中进一步向下提供脚本标签以提供额外功能(即查看Google分析)也是正常的

答案 8 :(得分:0)

每当你违反DRY原则(不要重复自己)时,你需要问为什么。如果你没有充分的理由,那么你可能不应该这样做。