javascript进阶——测试和打包分发
建立一个面向对象的好的代码基础后,为了达到代码重用的目的,通过调试使用适当的测试用例进行测试尤为必要,之后就是打包分发的主题。
一、调试与测试
1、调试
- Firebug:包含了错误控制台、调试器、DOM查看器。可以很好的定位DOM结构。
- Chrome:拥有控制台、DOM查看器等于Firebug几乎类似功能。
- IE浏览器:错误控制台显示错误,F12打开开发者工具,提供了javascript调试工具。
- Venkman:Mozilla发起的javascript调试器项目,它与javascript引擎本身紧密集成,是你能够对代码的执行做出精确的控制。
2、测试
- JSUnit
- J3Unit
- Test.Simple:比较新,是JSAN的javascript模块的标准测试方案。
二、打包分发
1、命名空间化
var YAHOO = {}; //创建一个默认全局命名空间 YAHOO.util = {}; //使用对象设置一些子命名空间 YAHOO.util.Event = {addEventListener: function(){...}}; //创建最终的命名空间,包含一个值为函数的属性 YAHOO.util.Event.addEventListener(); //调用具体命名空间中的函数很多流行的框架都是利用这个特性构建了各自的命名空间系统。
- Dojo:dojo.require("dojo.widget.AccordionContainer");导入特定命名空间下的程序包
- JQuery:$或者是JQuery对象为最外层命名空间,给这个对象添加属性或者方法就是添加的插件。
- YUI:与Dojo一样使用了深层次的命名空间结构来组织函数和特性,不同的是所有外部代码的导入由自己完成。
2、清理代码
- 变量声明:JSLint提出程序中所有的变量都必须在使用前声明,虽然javascript允许不申明直接使用,但是会导致变量实际作用域不好理解。由于null、0、false、‘’、undefined都是两两相等(==),因此JSLint要求每次对false进行比较时都要是要 “!==”、“===”。
- 代码块与大括号:不应该使用单行的代码块。也就是if、while或者for等语句中,即使后面只有一条语句,也要带上花括号“{”、“}”。
- 分号:所有的语句都应该在后面加上分号,独占一行的代码结尾可以省略,但是压缩后就可能导致问题。
3、压缩
- 只去除多余空白和注释,保留所有有意义的代码。JSMin属于这种,原理最简单,去除多余空白字符和注释。
- 去除空白和注释,而且修改变量名以减小代码
- 完成上述两种工作,同时还最小化代码中的所有单词,不仅仅是变量名称。Packer是这类工具,是目前最强大的javascript压缩工具,提供了一种彻底精简代码,并在执行时即时重新展开的方式,能够得到可能是最小的代码。可以看做一个可自解压的ZIP文件,压缩后会多出几百字节的内容用于自解压。小文件的压缩效果可能没有JSMin的效果好,但是大文件则是Packer最合适。
4、分发
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。