javascript:多线和单线之间有什么优势?

时间:2010-06-23 22:16:11

标签: javascript html

我有这样的代码:

<script type="text/javascript"> 

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-17115993-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
如果将它全部放在一条线上,它是否重要?是否有任何关于浏览器如何解释它的问题&gt;?

<script type="text/javascript">  var _gaq = _gaq || [];  _gaq.push(['_setAccount', 'UA-17115993-1']);  _gaq.push(['_trackPageview']);   (function() {     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);   })();  </script>

6 个答案:

答案 0 :(得分:3)

不,只是可读性。

这是js文件和标记为.min的文件之间的区别(当然,取决于是谁编写的)。

答案 1 :(得分:3)

不,空白并不重要。请注意丢失分号:

  

与C不同,JavaScript源中的空格可以直接影响语义。由于称为“分号插入”的技术,在解析换行符时形成的一些语句将被视为完整(就像在换行符之前插入分号一样)。

     

来自:Wikipedia - JavaScript Syntax

事实上,大多数minification工具(例如Google Closure CompilerYUI Compressor)会删除空白作为缩小的一部分。

因此,通常建议以可读的方式编写JavaScript代码,然后使用缩小工具删除空格。并且始终使用分号明确终止您的语句。

答案 2 :(得分:3)

问题在于可维护性。将所有内容组合在一条线上会使阅读更加痛苦。

就代码的功能操作而言,没有区别。

如果您担心尺寸问题,最好的办法是将原始代码文件保持多行,然后使用自动缩小工具创建您在生产Web服务器上提供的缩小版本。

答案 3 :(得分:2)

它应该在一行上运行相同的所有内容。多行的优点是它更易于阅读。浏览器不关心。

答案 4 :(得分:1)

此外,缩小文件通常更难以调试。例如,如果一行都在一行上,则无法在Firebug中设置断点。

答案 5 :(得分:1)

它将全部在同一条线上运行,并且将它放在一条线上的唯一真正优势是节省带宽,对于99.9%的网站来说,这不是一个足够大的节省,无论如何。您的主要关注点应该是可读性。

如果你试图让它变得难以理解,那么你的尝试将是徒劳的,因为混淆是一种非常弱的安全形式。