javascript高级教程:如何优化javascript代码性能
在web前端开发中,为实现一些动态效果,减小页面大小,我们一般都会使用JavaScript技术来进行相关设置。但是初学者在编写JavaScript代码的时候,往往都是比较低质的代码,那如何才能提高JavaScript代码的质量呢?今天小编就和大家分享分享。
1、尽量使用源生方法
由于javaScript是解释性语言,相比编译性语言执行速度要慢,所以尽量使用源生方法,对于浏览器已经实现的方法,就不要去再实现一遍了,加快页面的加载速度。
2、避免全局查找
为避免全局查找,现在我们一般的做法,都是在函数中将全局对象存储为局部变量来处理,加快访问速度。

3、尽量减少循环次数
在 代 码编写中,循环的使用是不可避免的,但是为了提高代码质量,我们需要做的就是在保证不影响相关功能的前提下,尽量减少循环的使用。因为,少一层循环, 就 能提高数倍的性能。如果要对一个数组的每个元素进行多次操作,尽可能使用一次循环,多次操作,而不是多次循环,每次循环执行一次操作。尤其是在进行多 个正 则匹配的时候,尽可能合并正则表达式,在一次遍历中尽可能找到相应的匹配。
循环

switch

4、条件分支
将条件分支,按可能性顺序从高到低排列,以减少解释器对条件的探测次数。
在同一条件 >2条件分支时,使用switch优于if:switch分支选择的效率高于if,在IE下尤为明显。4条分支的测试,IE下switch的执行时间约为if的一半。
使用三目运算符替代条件分支

5、减少定时器的初始化

如果针对的是不断运行的代码,不应该使用setTimeout,而应该是用setInterval,因为setTimeout每一次都会初始化一个定时器,而setInterval只会在开始的时候初始化一个定时器。
6、创建对象的另外一个办法-不使用new

7、用做标记的变量尽可能使用布尔类型
直接用true和false做标记,不要使用数字或者字符串的1和0来做标记。
以上就是JavaScript代码
在编写过程中的几条建议,希望能帮助web前端初学者写出高质量代码。另以上代码都可以在jQuery的源码里面查询到,有什么问题的话,大家可以去麦子圈问答版块提出,会有web前端大牛及时为你解答。
javascript高级教程:如何优化javascript代码性能的更多相关文章
- JavaScript高级教程
JavaScript高级教程 基础总结深入 数据类型 分类 you are so nb! undefined :undefined string :任意字符串 sybmol: object:任意对象, ...
- JavaScript强化教程——Cocos2d-JS中JavaScript继承
javaScript语言本身没有提供类,没有其它语言的类继承机制,它的继承是通过对象的原型实现的,但这不能满足Cocos2d-JS引擎的要求.由于Cocos2d-JS引擎是从Cocos2d-x演变而来 ...
- javaScript高级程序设计.pdf && 你不知道的JavaScript
转: JavaScript高级程序设计 链接:https://pan.baidu.com/s/1iRQ8FjpJqutZJzgdJ8ZBKA 提取码:ndnp 你不知道的JavaScript 链接:h ...
- 《JavaScript高级教程》学习笔记一、变量和数据类型
JavaScript的核心语言特性在ECMA-262中是以名为ECMAScript的伪语言的形式来定义的. 一.变量和数据类型 1. 变量 JavaSript是弱类型语言,可以通过var定义任何类型变 ...
- javaScript高级教程(七)正则表达式中括号三种常见作用
括号用来将子表达式标记起来,以区别于其他表达式 比如很多的命令行程序都提供帮助命令,键入 h 和键入 help 的意义是一样的,那么就会有这样的表达式: h(elp)? 字符h之后的elp可有可无这里 ...
- javaScript高级教程(九) ------javascript对象字面量--------困扰已久的问题
在编程语言中,字面量是一种表示值的记法.例如,"Hello, World!" 在许多语言中都表示一个字符串字面量(string literal ),JavaScript也不例外. ...
- javaScript高级教程(八)-----正则表达式温故知新
1.RegExp对象:五个属性二个方法 五个属性:global, ignoreCase,multiline,lastIndex,source 二个方法: exec()--模式匹配 test()--检测 ...
- javaScript高级教程(五) Event Flow
1.两个阶段三个模型:Netscape支持事件捕获,IE支持事件冒泡,w3c是先捕获后冒泡 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 S ...
- javaScript高级教程(十) iframe
1.iframe的基础,深入理解frame是何物,属性该如何设置. iframe即内联框架.不同于frame,frame与frameset综合使用,成为帧,框架集.frame已经不大使用了.说白了,f ...
随机推荐
- 2015弱校联盟(1) - I. Travel
I. Travel Time Limit: 3000ms Memory Limit: 65536KB The country frog lives in has n towns which are c ...
- EF中使用linq进行关联查询
EF使用linq进行多表查询是完全可以的,最后ToList()调用的时候回产生一条分页的sql语句,所以并不是全部查询再分页的.所以不会影响查询的性能 public void TestLinq() { ...
- background-clip 制作文字火焰效果
1.Background-clip的语法 background-clip: border-box || padding-box || context-box || no-clip || text 2. ...
- WSDL2ObjC Unsupported Media Type
调用WCF服务时,出这样的异常“415 Unsupported Media Type”, Because the WCF soap is v1.1, the http header should be ...
- How To Use FETCH_RECORDS In Oracle Forms
When called from an On-Fetch trigger, initiates the default Form Builder processing for fetching rec ...
- 微信小程序文件结构
在小程序的跟目录有三个文件 app.js 小程序逻辑 必须有app.json 小程序公共设置 必须有app.wxss 小程序公共样式表 非必须有 小程序的每个页面是一个文件夹 里面包含4种 ...
- 三种DSO(标准DSO、写优化DSO、直接更新DSO)、标准DSO覆盖合计规则
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 发布网站详细步骤(.Net)
(i)打开需要发布的网站 右键需要发布的项目 点击下拉框新建配置文件,输入配置文件名称,点击确定,下一步 发布方法选文件系统,目标位置:项目的根目录 配置选Release 点击发布 (ii) 打开ii ...
- 调度系统任务创建---Git部署项目(一)
有任务要上线时,需要将任务所在的项目代码从git上取出,在调度系统中编译打包,分发大任务执行服务器上. 具体的任务可以参考:http://192.168.53.100:8090/jenkins/vie ...
- 访问google.com
ping www.google.com 得到的IP来访问