1、减缓代码下载时间:
Web浏览器下载的是javaScript的源码、其中包含的长变量名、注释、空格和换行等多余字符大大减缓了代码下载的时间。这些字符对于团队编写时十分有效、但在最后工程完成上传到服务器时、应当将它们全部删除。例如:
- function showMeTheMoney(){ if(!money){ return false; }else{ ... } }
可优化成:
- function showMeTheMoney(){if(!money){return false;}else{...}}
这样、优化后就节约了25个字节、倘若是一个大的javaScript工程、将节省出非常大的空间、不但提高了用户的下载速度、也减轻了服务器的压力。相信这样的代码大家见过不少、很多优秀的js插件源码都这么干!
另外、对于布尔型的值true和false、true都可以用1来代替,而false可以用0来代替。对于true节省了3个字节、而false则节省了4个字节、例如:
- var bSearch = false; for(var i=0;i<aChoices.length&&!bSearch;i++){ if(aChoices == vValue) bSearch = true ; }
替换成:
- var bSearch = 0; for(var i=0;i<aChoices.length&&!bSearch;i++){ if(aChoices == vValue) bSearch = 1 ; }
替换了布尔值之后、代码的执行效率、结果都相同、但节省了7个字节。
代码中常常会出现检测某个值是否为有效值的语句、而很多条件非的判断就判断某个变量是否为"undefined"、"null"、或者"false"、例如:
- if(myValue != undefined){ //... } if(myValue !=null){ //... } if(myValue != false){ //... }
这些虽然都正确、但采用逻辑非操作符"!"也可以有同样的效果、代码如下:
Java代码
if(!myValue){
//...
}
这样的替换也可以节省一部分字节、而且不太影响代码的可读性。类型的代码优化还有将数组定义时的 new Array()直接用"[]"代替、对象定义时的 new Object()用"{}"代替等、例如:
- var myArray = new Array(); var myArray = []; var myObject = new Object(); var myObject = {};
显然、第二行和第四行的代码较为精简、而且也很容易理解。
另外、在编写代码时往往为了提高可读性、函数名称、变量名称使用了很长的英文单词、同时也大大增加了代码的长度、例如:
- function AddThreeVarsTogether(firstVar,secondVar,thirdVar){ return (firstVar+secondVar+thirdVar); }
可优化成:
- function A(a,b,c){return (a+b+c);}