- 浏览: 248727 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
-
sweed0:
为何每一段代码都重复一次呢?
spring注解实例二 -
Gary_Huangpf:
- - 插件报错啊
Ext前台分页 -
ddvk2007:
版主 我想請問你所說的mapreduce是hadoop的還是g ...
MapReduce中的Shuffle和Sort分析 -
人可木:
好问章,楼主写的相当详细。。。多谢。。。
findbugs插件的安装与应用 -
hautbbs:
按照博主的方法启动调试出现jvm terminated.Ex ...
10分钟学会使用MyEclipse断点调试js
javaScript是一门解释性的语言、它不像java、C#等程序设计语言、由编译器先进行编译再运行、而是直接下载到用户的客户端进行执行。因此代码本身的优劣就直接决定了代码下载的速度以及执行的效率。 1、减缓代码下载时间: Web浏览器下载的是javaScript的源码、其中包含的长变量名、注释、空格和换行等多余字符大大减缓了代码下载的时间。这些字符对于团队编写时十分有效、但在最后工程完成上传到服务器时、应当将它们全部删除。例如: 这样、优化后就节约了25个字节、倘若是一个大的javaScript工程、将节省出非常大的空间、不但提高了用户的下载速度、也减轻了服务器的压力。相信这样的代码大家见过不少、很多优秀的js插件源码都这么干! 另外、对于布尔型的值true和false、true都可以用1来代替,而false可以用0来代替。对于true节省了3个字节、而false则节省了4个字节、例如: 代码中常常会出现检测某个值是否为有效值的语句、而很多条件非的判断就判断某个变量是否为"undefined"、"null"、或者"false"、例如: 另外、在编写代码时往往为了提高可读性、函数名称、变量名称使用了很长的英文单词、同时也大大增加了代码的长度、例如: 对于上面说的这些减少代码体积的方法、有一些很实用的小工具可以自动完成类似的工作、例如ECMAScript Cruncher、JSMin、Online JavaScript Compressor等。 2、合理声明变量 减少代码的体积仅仅只能使得用户下载的速度变快、但执行程序的速度并没有改变。要提高代码执行的效果、还得在各方面做调整。 在浏览器中、JavaScript默认的变量范围是window对象、也就是全局变量。全局变量只有在浏览器关闭才释放。而JavaScript也有局部变量、通常在function中执行完毕就会立即被释放。因此在函数体中要尽可能使用var关键字来声明变量: 3、使用内置函数缩短编译时间 只要可能、应当尽量使用JavaScript的内置函数。因为这些内置的属性、方法都是用类似C、C++之类的言语编译过的、运行起来比实时编译的JavaScript快很多。例如计算指数函数、可以自己编写: 4、合理书写if语句。 if语句恐怕是所有代码中使用最频繁的、然而很可惜的是它的执行效率并不是很高。在用if语句和多个else语句时、一定要把最有可能的情况放在第一个、然后是可能性第二的、依此类推。例如预计某个数值在0~100之间出现的概率最大、则可以这样安排代码: 另外、通常当超过两种情况时、最好能够使用switch语句。经常用switch语句代替if语句、可令执行速度快甚至10倍。另外、由于case语句可以使用任何类型、也大大方便switch语句的编写。 5、最小化语句数量 脚本找哦个的语句越少执行的时间就越短、而且代码的体积也会相应减少。例如使用var定义变量时可以一次定义多个、代码如下: 6、节约使用DOM JavaScript对DOM的处理可能是最耗费时间的操作之一。每次JavaScript对DOM的操作都会改变页面的表现、并重新渲染整个页面、从而有明显的时间消耗。比较快捷的方法就是尽可能不在页面进行DOM操作、如下例中为ul添加了10个条目。 通常应当尽可能减少DOM的操作、将列表项目在添加文本节点之后在添加、并合理地使用createDocumentFragment()、代码如下:
可优化成:
替换成:
替换了布尔值之后、代码的执行效率、结果都相同、但节省了7个字节。
这些虽然都正确、但采用逻辑非操作符"!"也可以有同样的效果、代码如下:
这样的替换也可以节省一部分字节、而且不太影响代码的可读性。类型的代码优化还有将数组定义时的 new Array()直接用"[]"代替、对象定义时的 new Object()用"{}"代替等、例如:
显然、第二行和第四行的代码较为精简、而且也很容易理解。
可优化成:
注意:在进行变量名称替换时、必须十分小心、尤其不推荐使用文本编辑器的"查找"、"替换"功能、因为编辑器不能很好地区分变量名称或者其他代码。例如、希望将变量"tion"全部替换成"io"、很可能导致关键字"function"也被破坏。
这样、变量"a"就成为了全局变量、直到页面关闭时才会被销毁、浪费了不必要的资源、如果在"a"的前面加上"var"、这样"a"就成为了当前function的局部变量。在执行完First()便立即被销毁。因此、在函数体中、如果不是特别需要的全局变量、都应当使用"var"进行声明、从而节省系统资源。
我运行的结果是、自定义方法用了15、内置方法用了1(不同的计算机运行速度会有差别)、这样就能看出、系统内置的方法要快很多。
总是将出现概率最多的情况放在前面、这样就减少了进行多次测试后才能遇到正确条件的情况。当然也要尽可能减少使用else if 语句、例如上面的代码还可以进一步优化成如下代码:
上面的代码看起来比较复杂、但因为考虑了很多代码潜在的判断问题、执行问题、因此执行速度要较前面的代码快。
上面的多个定义可以用var关键字一次性定义、代码如下:
同样在很多迭代运算的时候、也应该尽可能减少代码量、如下两行代码:
可优化成:
以上代码在循环中调用oUl.appendChild(oLi)、每次执行这条语句后、浏览器就会重新渲染页面、其次给列表添加文本节点oLi.appendChild(document.createTextNode("Item "+i))、这也会造成页面被重新渲染。因此每次运行都会造成两次重新渲染页面、共20次。
发表评论
-
js原型
2012-07-26 09:12 903原型是个很微妙的东西,很多人不是很理解,理解了原型对于研究 ... -
一个基于jquery的banner轮播
2012-03-21 10:21 1403一个banner轮播广告。 JavaSc ... -
jquery要怎么写才能速度最快?(转)
2012-03-21 09:52 915很久没有关注jQuery了,最近重新看了一下,看到一些不错 ... -
HTTP协议详解(转载)
2012-02-18 19:17 0什么是HTTP协议 协议是指计算机通信网络中两台计算机 ... -
JavaScript 数组常用操作
2011-10-09 15:43 12651.创建数组只是声明了数组,并不包含具体数据。 Jav ... -
HTML便签大全
2011-08-25 11:19 11171.1 字体样式的应用 字体样式包括:字体族科(font- ... -
不同浏览器的Javascript兼容性总结
2011-08-20 12:56 2768对于大多数程序员而言在平时的编码过程中很少会注意到跨浏 ... -
javascript字符串编码
2011-07-18 15:05 865encodeURI() 函数可把字符串作为 URI 进行编 ... -
js最全的10种跨域解决方案
2011-07-15 09:08 876在客户端编程语言中,如javascript和Action ... -
js内置函数速查
2011-07-15 09:07 15451.document.write("" ... -
Ajax乱码
2011-05-14 14:09 1046使用GET方式提交数据的时候,中文问题很好解决,setRequ ... -
Ext实现添删查改二
2010-04-29 12:50 1169上一篇中提到了列表显示、增加、删除。这篇说下修改和条件查询。 ... -
Ext实现添删查改一
2010-04-29 12:48 1436前台: var sm = new Ext.grid.Chec ... -
Ext前台分页
2010-04-29 12:46 2125今天上午测试并实现了Ext的前台分页,参考了网上的资料,使用了 ... -
firebug的使用
2010-02-05 13:21 930什么是Firebug 从事了数 ... -
Ext学习资料大全
2010-02-04 08:47 1280轻松搞定 ExtJS http://download.csdn ... -
FireBug的安装与调试js快速入门
2010-02-03 19:47 3604Javascript的调试,是开 ... -
10分钟学会使用MyEclipse断点调试js
2010-02-03 10:11 4720最近老是被js代码所困扰,故撰此文: 1.在站点下准备 ...
相关推荐
JavaScript 优化 - 事件流、事件委托、懒加载、预加载 JavaScript 优化是指通过各种技术和方法来提高 JavaScript 的执行效率、减少浏览器的 нагрузка、提升用户体验的一种优化手段。下面我们将详细介绍事件...
JavaScript优化是提升网页性能的关键步骤,尤其是在现代网页开发中,JavaScript的作用越来越大,但它对搜索引擎的友好性和页面加载速度都有直接影响。下面将详细讨论JavaScript优化的一些关键策略。 首先,...
JavaScript 优化方法 本文将详细讲解 JavaScript 优化方法,以提高网站性能。作为一名网站开发 Web 前端工程师,对自己开发的网站项目应该尽可能地对其性能进行优化。本文将着重分析 JavaScript 的优化细节。 一、...
【JavaScript优化以及前端开发小技巧】 前端开发中的性能优化至关重要,因为这直接影响到用户体验和网站的加载速度。本文主要探讨了网络优化和JavaScript优化两个方面,以提高网页加载效率。 一、网络优化 1. ...
本篇文章将详细探讨JavaScript优化的若干关键细节。 首先,了解JavaScript的基本性能指标至关重要。这包括代码加载速度、解析时间、执行效率以及内存占用等。在这些方面进行优化能有效提升页面的加载速度和响应能力...
javascript优化.doc
JavaScript优化策略是提高网页和应用程序性能的关键,尤其是在JavaScript执行效率方面。以下是一些关键的优化策略,通过这些策略,开发者可以更有效地利用JavaScript的核心特性,从而提升代码的运行速度。 1. **...
在前端开发领域,JavaScript 和 CSS 优化是提升网站性能、用户体验和搜索引擎排名的关键技术。中级进阶阶段,开发者需要深入理解这些技术的优化策略,以实现更高效、更流畅的网页应用。 首先,我们来探讨JavaScript...
例如,Google的Closure Compiler是一个著名的JavaScript优化器,它将源代码转化为更高效的等效版本。Closure Compiler有三个编译级别:简单优化(SIMPLE)、高级优化(ADVANCED)和Whitespace Only,其中高级优化能...
JavaScript优化专题的加载和执行部分详细介绍了如何提高JavaScript在浏览器中的性能,这是开发者必须面对的挑战。因为JavaScript是单线程的,当JavaScript代码正在运行时,浏览器将不能同时处理其他任务,从而可能...
以下是针对JavaScript优化的一些核心点,结合给定的文件内容进行详细解释: 1. **模块化与类编程**: - **模块化**:JavaScript 中可以通过立即执行函数表达式(IIFE)和对象字面量实现模块化,避免全局变量污染,...
标题“JS优化_淘宝网.pdf”和描述“JS优化_淘宝网...但从上述的点可以看出,淘宝网在进行JavaScript优化时可能会考虑上述多方面的技术和方法。通过综合运用这些技术手段,可以极大程度上提升网站的加载速度和用户体验。
JavaScript优化方法及WebAssembly优化可行性分析 ##### 3.1 JavaScript性能优化 - **代码优化**:通过重构代码逻辑、减少不必要的循环和条件判断等方式,可以显著提高JavaScript程序的执行效率。 - **异步编程*...
JavaScript性能优化是提升网页应用响应速度和用户体验的关键技术。优化主要分为两个方面:下载时间和执行时间。 **下载时间优化** 1. **压缩代码**:JavaScript文件的大小直接影响下载时间。为了减少下载时间,...
在JavaScript优化方面,文章提到了图片预加载的策略。在“秋名山活动”中,由于涉及到大量图片的加载,开发者采取了在页面载入时先加载一些通用图片,并在答题阶段预先加载后续页面中的图片,以防止用户访问页面时...
JavaScript 优化是提高 JavaScript 的运行速度的一个重要方面。例如,使用异步调用、memoization 技术和重构函数等方法可以提高 JavaScript 的运行速度。 本文讨论了如何提升 JavaScript 的运行速度的方法,包括...
本文将深入探讨"前台JavaScript速度优化"的相关知识点,包括但不限于代码优化策略、工具应用以及Ajax性能提升。 一、代码优化策略 1. 减少DOM操作:频繁的DOM操作会降低页面性能,因为每次操作都需要浏览器重新...
JavaScript 的基础知识、JavaScript 的实现、JavaScript 小体验、JavaScript 环境搭建、JavaScript 类型、JavaScript 变量和关键字、条件语句、循环...JavaScript 高级篇、事件机制、表格与表单、错误处理和优化等内容...
2. JavaScript优化:包括代码重构、消除冗余、算法优化等,旨在提高代码执行效率和加载速度。 3. UglifyJS:JavaScript压缩工具,能够混淆代码、删除空格和注释,减小文件大小。 4. 混淆代码:通过去除或加密汉字...