JS性能优化

1.不要在同一行声明多个变量。
2.请使用 ===/!==来比较true/false或者数值
3.使用对象字面量替代new Array这种形式
4.不要使用全局函数。
5.Switch语句必须带有default分支
6.函数不应该有时候有返回值,有时候没有返回值。
7.For循环必须使用大括号
8.If语句必须使用大括号
9.for-in循环中的变量 应该使用var关键字明确限定作用域,从而避免作用域污染。
10.if(a){}编译器需要将其转化为多个数据类型进行比较,不能立刻得到结果。
if(a===true){}...
if(a===1){}...等这样效率更高
11.尽可能避免使用arguments[index]方式进行参数获取,并且尽量避免修改传入的参数变量。
12.eval、width、try/catch这些语法会影响优化进程,避免使用。同时尽量避免在函数内声明函数或者闭包,可能在大量运算会导致过多垃圾回收操作
13.尽可能的缓存数组长度的计算值,并且尽可能在同一数组中存放单个类型。
14.尽量避免用for in遍历数组,效率很慢。continue break语句在循环中性能不错,可以使用。
尽可能将短小的逻辑部分拆分到独立的函数中,更利于编译器优化。使用前缀自增表达式,也能带来小小的性能提升(++i代替i++)

/**
 **************************************************************
 *                                                            *
 *   .=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.       *
 *    |                     ______                     |      *
 *    |                  .-"      "-.                  |      *
 *    |                 /            \                 |      *
 *    |     _          |              |          _     |      *
 *    |    ( \         |,  .-.  .-.  ,|         / )    |      *
 *    |     > "=._     | )(__/  \__)( |     _.=" <     |      *
 *    |    (_/"=._"=._ |/     /\     \| _.="_.="\_)    |      *
 *    |           "=._"(_     ^^     _)"_.="           |      *
 *    |               "=\__|IIIIII|__/="               |      *
 *    |              _.="| \IIIIII/ |"=._              |      *
 *    |    _     _.="_.="\          /"=._"=._     _    |      *
 *    |   ( \_.="_.="     `--------`     "=._"=._/ )   |      *
 *    |    > _.="                            "=._ <    |      *
 *    |   (_/                                    \_)   |      *
 *    |                                                |      *
 *    '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='      *
 *                                                            *
 *           LASCIATE OGNI SPERANZA, VOI CH'ENTRATE           *
 **************************************************************
 */
 
posted @ 2016-11-30 13:46  杜培东  阅读(219)  评论(0编辑  收藏  举报