日期:2014-05-16  浏览次数:20349 次

javascript优化实例

这里列出javascript运用过程中遇到的一些优化实例和代码技巧,以便回顾。

?

1、判断浏览器js引擎是否做了排序优化。 如下代码,如果baseHasDuplicate返回false说明浏览器没有做排序优化。一些浏览器会对排序进行优化,比如明知道恒等的情况,就没有必要再去执行客户的排序方法。--来着Sizzle代码

[0, 0].sort(function() {
	baseHasDuplicate = false;
	return 0;
});

某些浏览器js引擎对排序的优化代码,下面在恒等情况下,不再执行客户的排序方法。

function sort(comparefn) {
  var custom_compare = (typeof(comparefn) === 'function');
  function Compare(x,y) {
    if (x === y) return 0;
    if (custom_compare) {
      return comparefn.call(null, x, y);
    }
    ...
}

2、赋值时候的判空写法 经常用于函数的参数容错和初始化等过程中

a=a || [];//判断a是否存在,如果不存在则初始化空数组
b=b || {};//如果不存在,初始化空对象