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的调试与优化等。最后一篇综合案例篇用一个完整的例子讲解了如何使用...
3. 웹应用性能优化:Java编译成JavaScript技术能够对生成的JavaScript代码进行优化,使得Web应用的性能提高。 四、结论 Java编译成JavaScript技术是web开发领域中的一个重要技术。GWT是Google推出的AJAX应用开发包...
《JavaScript凌厉开发——Ext JS3详解与实践》是一本深度探讨JavaScript库Ext JS3的专著,旨在帮助开发者深入理解和高效运用这一强大的前端框架。本文将围绕标题、描述及标签,详细介绍Ext JS3的核心概念、关键特性...
8. **性能优化**:对于大型地图,处理大量标注时需要注意性能问题。可能需要使用分块加载、懒加载或空间索引等策略。 9. **源码分析**:既然提到“源码”,意味着我们可能需要阅读和理解`SearchMapIdentityTask`的...
### 浅谈JavaScript库——jQuery与ExtJs的对比研究 #### 一、引言 随着Web 2.0和RIA(Rich Internet Applications)技术的普及,JavaScript作为一种前端开发的重要工具,逐渐占据了重要的地位。它不再仅仅是用于...
《JavaScript实战手册——第七版代码》是一本专为JavaScript开发者准备的实践指南,它涵盖了从基础到高级的各种JavaScript编程技术。这本书的代码示例旨在帮助读者深入理解语言机制,并提升在实际项目中的应用能力。...
JavaScript列表空间——Collist,是一种基于JavaScript实现的可排序列表控件,专为网页开发者设计,以方便在网页上创建和管理动态数据列表。这个控件具有轻量级、高效和用户友好的特点,适用于各种网页应用,尤其...
《众妙之门——JavaScript与jQuery技术精粹》是一本由Smashing Magazine出版的高端IT图书,它汇聚了全球顶尖网站设计专家的经验与智慧,旨在深入解析JavaScript和jQuery的关键技术,帮助读者提升在网页设计与开发中...
它具有更快的访问速度、更好的搜索引擎优化、支持更多多媒体元素、跨平台兼容性以及后台一致性等特点。 - CSS3是层叠样式表的最新版本,提供了更多样式和动画功能,增强了样式表的表现力。 - JavaScript是一种脚本...
【标题】"网页模板——javascript 在线打字练习"揭示了这个压缩包文件的主要内容,它是一个基于JavaScript技术实现的在线打字练习平台的网页模板。JavaScript,作为全球最广泛使用的编程语言之一,通常用于增强网页...
《FibJS——JavaScript on Fiber》是一份深入探讨FibJS技术的资料,它揭示了如何将JavaScript语言的优势与Fiber的高性能特性相结合,为开发者提供了全新的编程体验。FibJS是一个基于Chrome V8引擎的JavaScript运行时...
在《XMPP高级编程——使用JavaScript和jQuery》一书中,作者深入探讨了如何利用这两种强大的Web技术来实现XMPP功能。JavaScript作为浏览器端的主要编程语言,为网页添加动态交互性,而jQuery则简化了DOM操作,提供了...
在本课程“03妙味课堂——javascript彩虹圈效果”中,我们将深入探讨如何使用JavaScript实现一种视觉上吸引人的彩虹圈动态效果。JavaScript是一种广泛应用于网页开发的编程语言,它赋予了网页动态交互的能力,而这个...
本资源"安卓Android源码——Android调用JavaScript.zip"聚焦于这一主题,提供了如何在Android应用中调用JavaScript的具体实现。下面我们将详细探讨这个过程中的关键知识点。 首先,Android系统提供了`WebView`组件...
8. **性能优化**:学习如何编写高效的JavaScript代码,减少内存占用,提升页面加载速度,理解垃圾回收机制。 9. **跨域通信**:理解同源策略及其限制,以及如何通过JSONP、CORS、WebSocket等方式实现跨域请求。 10...
6. **按钮特效类**:按钮是网页中最常见的交互元素之一,其样式和行为的优化直接影响用户的操作体验。这个代码集可能会包含不同类型的按钮动画效果,如按下效果、渐变颜色、悬浮效果等,使按钮更具吸引力。 这些...
这篇博客“javascript小工具之——cookie操作”很可能会探讨如何利用JavaScript进行有效的Cookie操作。 Cookie是由Web服务器发送到用户的浏览器并存储在本地的小型文本文件。它们由键值对组成,可以设置过期时间,...
【标题】"网页模板——javascript 物理弹性漂浮广告.zip" 涉及到的知识点主要集中在网页设计、JavaScript编程以及广告展示技术上。在网页设计领域,漂浮广告通常指的是那些在用户滚动页面时始终停留在屏幕某个位置的...
作用域是JavaScript中一个非常核心的概念,它决定了代码块中变量和函数的可访问性。全局作用域中的变量和函数可以被整个程序中的其他代码所访问,而局部作用域则限制了变量和函数的可访问范围到代码块内部。在...