javaScript是一门解释性的语言、它不像java、C#等程序设计语言、由编译器先进行编译再运行、而是直接下载到用户的客户端进行执行。因此代码本身的优劣就直接决定了代码下载的速度以及执行的效率。
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[i] == vValue)
bSearch = true ;
}
替换成:
var bSearch = 0;
for(var i=0;i<aChoices.length&&!bSearch;i++){
if(aChoices[i] == vValue)
bSearch = 1 ;
}
替换了布尔值之后、代码的执行效率、结果都相同、但节省了7个字节。
代码中常常会出现检测某个值是否为有效值的语句、而很多条件非的判断就判断某个变量是否为"undefined"、"null"、或者"false"、例如:
if(myValue != undefined){
//...
}
if(myValue !=null){
//...
}
if(myValue != false){
//...
}
这些虽然都正确、但采用逻辑非操作符"!"也可以有同样的效果、代码如下:
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);}
来源:
http://blog.csdn.net/hzw2312/article/details/6596965
分享到:
相关推荐
第三篇讲解的是Javascript的高级技术,主要讲解了Javascript与XML技术、正 则表达式、Ajax基础、Ajax高级应用、Javascript与插件和Javascript的调试与优化等。最后一篇综合案例篇用一个完整的例子讲解了如何使用...
JavaScript》](https://book.douban.com/subject/5362856/)这样历久弥香的经典之作,也可能是搜索引擎聚合给你的一篇又一篇以性能优化为主题的个人或团队实践而来的“私货”。至少当我确定自己的研发方向、并接到第...
精通JavaScript(中文清晰优化版)(PDF) 讲述了现代JavaScript的所有知识,展现了这门技术将能给网站建设带来如何丰富的体验。《精通JavaScript》言简意赅,扩展了读者视野,并关注于基础且重要的主题——现代...
JavaScript》](https://book.douban.com/subject/5362856/)这样历久弥香的经典之作,也可能是搜索引擎聚合给你的一篇又一篇以性能优化为主题的个人或团队实践而来的“私货”。至少当我确定自己的研发方向、并接到第...
JavaScript》](https://book.douban.com/subject/5362856/)这样历久弥香的经典之作,也可能是搜索引擎聚合给你的一篇又一篇以性能优化为主题的个人或团队实践而来的“私货”。至少当我确定自己的研发方向、并接到第...
针对JavaScript性能的优化。 ———— 推荐。
第2版结合JavaScript和jQuery最新技术,对全书内容进行了更新和优化,使之在技术上更先进,也更易于学习。本书的最大特色就是内容系统且全面:从JavaScript的基本概念,到Web最流行的JavaScript库——jQuery,再到...
用 JS 编写的粒子群优化库。适用于RequireJS,来自WebWorker,在node.js或普通浏览器环境中。...walk-critter优化“行走”的小动物——异步目标函数的另一个例子 更多详情、使用方法,请下载后阅读README.md文件
1.优化了图片加载机制——CPU效率提升30%以上; 2.优化了JS对象和DOM对象,用完立即回收; 3.优化了程序结构,播放和部分放大对处理器的要求降低了15%左右; 4.优化了界面美观(限于美工有限,汗一个,O(∩_∩)O~)...
在javascript中,typeof 和 instanceof 是用来判断数据类型比较通用的两个方法,这篇文章的目的是通过对这两个方法介绍来分析其存在的不足并提出优化方案。 typeof ——————————————————————...
Collie 是一个 JavaScript 库,用于创建高度优化的 HTML5 动画和游戏。Collie 可以运行在 PC 和手机上,使用 HTML5 Canvas 和 DOM。Collie 能够多线程稳定的处理多个对象,支持很多实用的功能,包括精灵动画和用户...
——Steve Sounders 1 利用js作用域链 作用域链(scope chain) 当执行一段JavaScript代码(全局代码或函数)时,JavaScript引擎会创建为其创建一个作用域又称为执行上下文(Execution Context),在页面加载后会...
在本书中,作者给出了14条具体的优化...第10章规则10——精简JavaScript 第11章规则11——避免重定向 第12章规则12——移出重复脚本 第13章规则13——配置ETag 第14章规则14——使AJAX可缓存 第15章析构十大网站 索引
JavaScript》](https://book.douban.com/subject/5362856/)这样历久弥香的经典之作,也可能是搜索引擎聚合给你的一篇又一篇以性能优化为主题的个人或团队实践而来的“私货”。至少当我确定自己的研发方向、并接到第...
JavaScript》](https://book.douban.com/subject/5362856/)这样历久弥香的经典之作,也可能是搜索引擎聚合给你的一篇又一篇以性能优化为主题的个人或团队实践而来的“私货”。至少当我确定自己的研发方向、并接到第...
PDF优化 ——优化PDF文档,缩小文件大小。 批量创建PDF文件 ——您可以从多文件创建PDF文件,也可以从扫描仪中直接创建PDF文件。 PDF审阅 ——在现有PDF文件中插入注释、高亮、图章等。 设置文档属性信息 ——便于...
JavaScript》](https://book.douban.com/subject/5362856/)这样历久弥香的经典之作,也可能是搜索引擎聚合给你的一篇又一篇以性能优化为主题的个人或团队实践而来的“私货”。至少当我确定自己的研发方向、并接到第...
• JavaScript——你将获得忠告:理解Ajax性能、编写高效的JavaScript、创建快速响应的应用程序、无阻塞加载脚本等。 • 网络——你将学到:跨域共享资源、无损压缩图片大小,以及使用块编码加快网页渲染。 •...
JavaScript》](https://book.douban.com/subject/5362856/)这样历久弥香的经典之作,也可能是搜索引擎聚合给你的一篇又一篇以性能优化为主题的个人或团队实践而来的“私货”。至少当我确定自己的研发方向、并接到第...
项目介绍 ... @nuxt/image —— 图片加载优化 @tailwindcss/typography —— 排版优化 @tailwindcss/aspect-ratio —— 图片排版优化 markdown-it/hightlight.js —— markdown 解析,代码高亮