整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

JavaScript代码压缩的功效与作用

JavaScript代码压缩的功效与作用

avaScript代码压缩的功效与作用

JavaScript代码压缩可实现3大功能:减小体积、优化逻辑、提升执行效率

专业的JavaScript代码压缩,绝不仅仅是去除回车使代码挤到一行,而是用真正的技术减小代码体积、提升代码性能。

下面,以JShaman的JavaScript代码压缩功能为例,以说明JavaScript压缩具体能对代码进行哪些优化。

去除未使用的函数、变量

例:

压缩前的代码:
function fun_one(){ console.log(var_one); } function fun_two(){ console.log(var_one); } fun_one();
压缩后:
function fun_one() { console.log(var_one); } fun_one();

压缩前的代码:

var var_one=1; var var_two=2; function fun_one(){ console.log(var_one); } fun_one();
压缩后:
var var_one=1; function fun_one() { console.log(var_one); } fun_one();

如此便省去了无效代码对空间的占用。

缩短函数名、变量名

例,压缩前的代码:
var var_variable_one=1; var var_variable_two=2;
压缩后:
var _0_=1; var _0_2=2;

例,压缩前的代码:
function fun_get_time(){} function fun_set_time(){}
压缩后:
function _f1_(){} function _f2_(){}

长的函数名、变量名占用的空间多,变短自然省出了空间。

代码逻辑优化

对功能逻辑进行判断,去除某些由于逻辑无效而不会被执行的代码。

例,压缩前的代码:
if(1==1){ console.log("1=1"); } else { console.log("1!=1"); }

压缩后:
console.log("1=1");

例,压缩前的代码:
2==2?console.log("2=2"):console.log("2!=2");
压缩后:
console.log("2=2");

优化了逻辑、去除了无效代码,代码执行效率自然可得到提升。

字符串优化

例,压缩前的代码:
var four_one=4; var four_two; var four_three="this is four_three"; four_two=5; console.log(four_one,four_two,four_three,four_three);
压缩后:
var four_two; var four_three="this is four_three"; four_two=5; console.log(4, four_two, four_three, four_three);

压缩前,字符串或常量赋值给变量,后续代码中使用变量进行各种逻辑处理。

压缩后,直接取变量真正内容进行操作,省略了对变量的使用,节省了逻辑开销。

何时使用代码压缩?

在实际的编程中,平常不需要压缩,优化压缩可能并不利于工作,比如:

使用有意义的长变量名有助于理解代码内容,方便维护,而不该使用无意义短变量名;

条理分明、但可能不必要的条件判断语言,同样便于代码理解,而不该为了短小而省略判断。

其它,回注释、换行、缩进,都是日常编程的正常需要。

但在发行代码时,需求可能与此相反,通常而言:

需要保密性的重要代码,可进行混淆加密。

而某些代码,可能需要考虑性能、大小,以方便高效执行、便于网络传输可以进行代码压缩。

那么,你的JavaScript代码,是需要混淆加密呢,还是需要压缩呢?

Chrome作为目前市场份额最大的浏览器,也是我最钟爱的浏览器,当然有其过人之处。作为一个开发人员,对于浏览器的控制使用肯定是必不可少的,今天我们一起来看看Chrome浏览器的开发者控制台中几个常用的小技巧吧。

Chrome浏览器

元素选择器

学习过前端的人肯定也都使用过jQuery,那么对于$运算符肯定不会陌生,这是jQuery提供的元素选择器,用于快速定位页面上的HTML元素。

$的使用并不是只能在JS文件中,在控制台中同样可以使用。我们打开Chrome的控制台(按F12或者鼠标右键检查),在控制台中输入$('div'),会发现有如下输出结果。

$的使用

在控制台下,$()与Javascript中的document.querySelector()返回的是相同的值。$$则表示的是Javascript中的document.querySelectorAll()。

console对象

关于console对象的使用技巧,我专门写了一篇文章,大家可以看下《Javascript调试之console对象,它的一些小技巧你都知道吗?》。

清空控制台

在控制台下有个clear console的按钮,点击的时候会清空控制台。

清空控制台

同样在控制台中输入clear(),实际是调用clear方法,也可以清空控制台。

让Chrome中的页面可编辑

有的时候我们需要临时改变页面上的文字,图案等信息,一种常见的方法是打开Elememts,然后在修改页面的源码,这种做法比较麻烦。如果需要修改多处,需要频繁的修改源码。

而通过Chrome的控制台Console中,只需要下面一句简单的代码就可以使得整个页面变得可编辑。

变成可编辑的代码

实际的效果图如下所示。

可编辑的效果

格式化代码

在Chrome控制台的Source面板下,我们可以查看到页面的源文件,包括js,css,img等。但是有些网站经常会将js或者css文件进行压缩,对开发人员来说不友好,如果想要查看的话通过点击一个按钮,就可以轻松实现代码格式化。

快捷格式化代码

打开控制台命令菜单

通过F12打开的命令行并不能包含全部的菜单,在Mac下通过快捷键Cmd + Shift + P,在Windows,Linux下通过Ctrl + Shift + P,可以打开所有的菜单选项,然后点击选择快速进入到对应的菜单中。

控制台菜单快捷键

结束语

Chrome浏览器的控制台功能还远不止这些,还需要大家慢慢去发现,这里只是记录了些简单的功能,希望对大家有用。

avaScript 代码压缩是指去除源代码里的所有不必要的字符,而不改变其功能的过程。这些不必要的字符通常包括空格字符,换行字符,注释以及块分隔符等用来增加可读性的代码,但并不需要它来执行。

在这篇文章中,我们选择了15个最好用的 JavaScript 压缩工具,有简单的在线转换器,GUI工具和命令行界面等。

1. JavaScript Minifier

它是一个很好的工具,带有API来缩小js代码。

2. JSMIni

如果您想快速轻松地缩小JavaScript或jQuery文件,请使用jsMini。只需复制和粘贴源代码,选择要基本压缩还是完全压缩,然后缩小代码。

3. JSCompress

JSCompress.com是一个在线javascript压缩器,允许您压缩和缩小javascript文件。压缩的javascript文件是生产环境的理想选择,因为它们通常会将文件的大小减少30-90%。大多数文件大小的减少是通过删除Web浏览器或访问者不需要的注释和额外的空白字符来实现的。

4. Minifier

一个简化CSS/JS的简单工具,没有大的设置。它将CSS中的URL从原来的位置重新工作到输出位置。它会自动解析CSS中的@import语句。

5. Gulp.js

js是流构建系统。它使用流和代码对配置,使一个更简单和更直观的构建。通过更喜欢代码而不是配置,GUMP使简单的事情变得简单,并使复杂的任务易于管理。通过利用节点流的强大功能,您可以获得不将中间文件写入磁盘的快速构建。GUP的严格插件指南确保插件保持简单,并按您预期的方式工作。

6. Uglifyjs

这个包实现了一个通用的JavaScript解析器/压缩器/美化工具包。它是在NodeJS上开发的,但是它应该在任何支持CommonJS模块系统的JavaScript平台上工作(如果您选择的平台不支持CommonJS,那么您可以很容易地实现它,或者放弃导出。

7. Grunt

grunt是一个用于JavaScript项目的基于任务的命令行构建工具。它有以下可以在项目中使用的预定义任务:连接文件、使用JSHint验证文件、使用UGIFIFYJS执行minify文件、使用节点单元运行单元测试等等。

8. Koala

koala是一个GUI应用程序,用于Less、Sass、Compass和CoffeeScript编译,以帮助Web开发人员更有效地使用它们。考拉可以在Windows、Linux和Mac上运行。

9. Prepros

PreProfessional是一个用于编译更少的工具,Sass、Compass、Stylus、Jade以及更多的带有自动CSS前缀的工具,它带有内置的服务器,用于跨浏览器测试。它运行在Windows、Mac和Linux上。

10. Ajax Minifier

此工具是一个Windows应用程序,允许您在不使用命令行或VisualStudio的情况下运行MicrosoftAjaxMinifier。它缩小了文件夹和嵌套文件夹中的所有javascript文件,缩小了单个javascript文件,启用/禁用了小型程序的超压缩和分析选项等等。

11. Smaller

更小的是一个强大的HTML,CSS和JavaScript压缩器在OSX上,它也有能力将多个文件组合成一个。压缩您的文件,使您的网站加载更快。

12. Ultra Minifier

超迷你是最简单的YUI压缩机GUI,以缩小Javascript和CSS代码,而不使用终端。

13. Require JS

RequireJS是一个JavaScript文件和模块加载器。它是为浏览器内使用而优化的,但它可以用于其他JavaScript环境,如Rhino和Node。使用像RequireJS这样的模块化脚本加载程序将提高代码的速度和质量。它包括一个优化工具,可以作为部署代码的打包步骤的一部分运行。优化工具可以组合和缩小JavaScript文件,以实现更好的性能。

14. Online JavaScript/CSS Compressor

这是一个用于压缩JavaScript或CSS的Web接口。该工具使用UgulifyJS 2、Clean-CSS和HTML缩略符.

15. Minify

minify是一个PHP 5应用程序,它可以帮助你遵循雅虎的一些高性能网站规则,它结合了多个css或Javascript文件,删除了不必要的空白和注释,并为它们提供gzip编码和最佳客户端缓存头。