一. 代码优化技巧
1.1 避免使用字符串比较
在日常业务开发中经常会定义一些常量,可以将常量类型定义为数字类型,而不是字符串类型。当有判断逻辑时,数字类型的比较效率是比字符串类型要高的。
// bad
const Position = {
TOP: 'TOP',
BOTTOM: 'BOTTOM',
}
// good
const Position = {
TOP: 0,
BOTTOM: 1,
}
1.2 避免定义不同的Shape
在js
中创建每一个对象会对应一个Shape
,如果两个对象结构相同则复用同一个Shape
。例如下面这段代码,obj1
和obj2
会对应同一个Shape
,而obj3
对应一个Shape
,与前者不是同一个。主要注意在日常业务开发中尽量避免动态增删对象属性的操作。
let obj1 = { x: 1, y: 2 }
let obj2 = { x: 3, y: 4 }
let obj3 = { x: 5 }
1.3 使用Set
或Map
数据结构
举一个常见的业务场景即判断一个集合中是否包含某个元素,可选的数据结构有Array
或Set
,那这里应该优先考虑Set
数据结构
// bad
const arr = [1, 2, 3]
arr.includes(1)
// good
const set = new Set([1, 2, 3])
set.has(1)
二. 总结
本文内容参考文档,原文介绍会更加详细且有相关例子的性能数据,读者可以自行查阅。
总结来说即采用合适的数据结构和适当的数据缓存机制优化Javascript
代码运行性能。