局部变量的妙用

underscore 本身也依赖了不少 js 的原生方法,如下代码所示,underscore 会通过局部变量来保存一些他经常用到的方法或者属性,这样做的好处有如下两点:

  • 在后续使用到这些方法或者属性时,避免了冗长的代码书写。
  • 减少了对象成员的访问深度,(Array.prototype.push --> push), 这样做能带来一定的性能提升,具体可以参看 《高性能 javascript》
var ArrayProto = Array.prototype, ObjProto = Object.prototype;
var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;

var push = ArrayProto.push,
    slice = ArrayProto.slice,
    toString = ObjProto.toString,
    hasOwnProperty = ObjProto.hasOwnProperty;

results matching ""

    No results matching ""