高性能javascript读书笔记之算法和流程控制

来源:互联网 发布:台湾三十年前经济知乎 编辑:程序博客网 时间:2024/06/10 02:31
代码的组织结构和解决具体问题的思路是影响代码性能的主要因素。

循环的类型:for循环、while循环、do-while循环、for-in循环。
注:只有for-in循环比其它几种明显要慢。不要使用for-in循环来遍历数组成员。

优化循环:
1.减少迭代的工作量:限制循环中耗时操作的数量、倒序循环;
2.减少迭代次数:Duff’s Device(达夫设备);
3.条件数量越大,越倾向使用switch而不是if-else;
4.当有大量离散值测试时,使用查找表速度更快(数组项查询或对象成员查询);
5.浏览器的调用栈大小限制了递归算法在javascript中的应用,可能会导致栈溢出(不正确的终止条件、算法包含太多层递归),把递归算法改成用迭代实现,或使用memoization可避免栈溢出。

优化if-else:
1.确保最可能出现的条件放在首位;
2.把if-else组织成一系列嵌套的if-else语句;
0 0
原创粉丝点击