js优化原则
来源:互联网 发布:观测数据 英文 编辑:程序博客网 时间:2024/06/14 13:19
转载:http://www.iteye.com/topic/126859
概述:与其他语言不同,JS的效率很大程度是取决于JS engine的效率。除了引擎实现的优劣外,引擎自己也会为一些特殊的代码模式采取一些优化的策略。例如FF、Opera和Safari的JS引擎,都对字符串的拼接运算(+)做了特别优化。显然,要获得最大效率,就必须要了解引擎的脾气,尽量迎合引擎的口味。所以对于不同的引擎,所作的优化极有可能是背道而驰的。
原则一、大规模循环体为最主要优化对象。
原则二、尽量避免过多的引用层级和不必要的多次方法调用。(目前绝大多数JS引擎都是解释执行的,而解释执行的情况下,在所有操作中,函数调用的效率是较低的。此外,过深的prototype继承链或者多级引用也会降低效率。)
原则三、多次访问节点时,将其保存js变量。(有些情况下看似是属性访问,实际上是方法调用。例如所有DOM的属性,实际上都是方法。在遍历一个NodeList的时候,循环条件对于nodes.length的访问,看似属性读取,实际上是等价于函数调用的。)
原则四、尽量使用语言本身的构造和内建函数。(用户自定义函数的效率又远远低于语言内建函数,因为后者是对引擎本地方法的包装,而引擎通常是c,c++,java写的。进一步,同样的功能,语言内建构造的开销通常又比内建函数调用要效率高,因为前者在JS代码的parse阶段就可以确定和优化。 )
原则五、尽量减少不必要的对象创建。
- JS优化原则
- JS优化原则
- JS优化原则
- js优化原则
- Spark优化-优化原则
- Python代码优化:优化原则
- .net基本优化原则
- SQL优化原则
- SQL优化原则
- mysql 的优化原则
- mysql语句优化原则
- SQL 优化原则
- SQL优化原则
- 数据库查询优化原则
- 数据库查询优化原则
- SQL优化原则
- Oracle SQL 优化原则
- 常见优化原则1
- 代码的坏味道之十四 :Temporary Field(令人迷惑的暂时值域)
- MFC使用ADO连接SQL数据库的学习手记
- ASCII码表
- zoj 3661 Palindromic Substring(后缀数组)
- 汇编指令速查
- js优化原则
- 巧用正则查找或替换
- Lua源码分析 -- 虚拟机以及指令解释
- Linux C 实现生产者消费者问题
- linux 上编写一个Log库
- likely() 和 unlikely() 功能分析
- 记一次薪酬谈判的教训
- c++中使用预处理器进行调试
- C++标准库 Utilities library typeinfo