code: function addEventCache(target, type, handler) {
    var isOnce = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
    var handlerWrap = arguments[4];
  
    if (isFunction(isOnce) && !handlerWrap) {
      handlerWrap = isOnce;
      isOnce = undefined;
    }
    var handlers = [handler, undefined, isOnce];
    if (isOnce && !handlerWrap) {
      handlerWrap = function handlerWrap() {
        removeEventCache(target, type, handler, isOnce);
  
        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }
  
        handler.apply(target, args);
      };
    }
    if (handlerWrap) {
      handlers[1] = handlerWrap;
    }
    getEvtTypeCache(target, type).push(handlers);
  }
docs: 添加事件监听到缓存
  @param  {Object}  target 发生事件的对象
  @param {String} type 事件类型
  @param {Function} handler 监听函数
  @param {Boolean} isOnce 是否单次执行
  @param {Function} handlerWrap
  @return {undefined}