JavaScript作为一门解释型语言,是构建Web页面的首选。当以快速原型为基准开发用户界面时,解释语言要优于其他语言。
精简
精简是从代码中移除不必要的字符以减小大小,进而改善加载时间的实践。在代码被精简后,所有的注释以及不必要的空白字符(空格,换行和制表符)都将被移除。
对JavaScript而言,这可以改善响应时间效率(要下载的文件大小减小了)。
混淆
混淆是可以应用在源代码上的另一种优化方式(移除注释和空白还有改写代码)。
这样做为了增加对代码进行方向工程的难度,但这对提高性能有帮助(比精简更能减小代码的大小)。
精简是一个安全且简单的过程。混淆更为复杂一些。
混淆JavaScript有以下三个主要缺点:
1.缺陷:混淆复杂容易引入错误。
2.维护:对不能改变的符号标记(避免混淆改变JavaScript符号)。
3.调试:经过混淆的代码难阅读带来调试的问题。
精简和压缩
只需要精简其JavaScript代码就可以避免混淆可能引发的问题。
结合使用gzip压缩后,精简和混淆之间的差距将会减小。
精简脚本可以降低响应时间,但不会带来混淆的风险。
精简内敛脚本比精简外部脚本要容易。
gzip压缩产生的影响最大,但精简能够进一步减小文件大小。随着JavaScript的使用量和大小的不断增长,精简JavaScript代码能够得到更多的节省。
精简CSS能够带来的节省通常要小于精简JavaScript,因为通常CSS中的注释和空白比JavaScript少。最大的潜在节省来自于优化CSS(合并同样的类,移除不使用的类等)。最佳的解决方案还是移除注释和空白,并进行一些直观的优化(使用缩写和移除不必要的字符串)