fix-ie5.js扩展在IE5下不能使用的几个方法

2019-06-02 13:08:53王振洲

        case 0: r = o[APPLY](); break;
        case 1: r = o[APPLY](a[0]); break;
        case 2: r = o[APPLY](a[0], a[1]); break;
        case 3: r = o[APPLY](a[0], a[1], a[2]); break;
        case 4: r = o[APPLY](a[0], a[1], a[2], a[3]); break;
        default:
          var aa = [], i = a.length - 1;
          do aa[i] = "a[" + i + "]"; while (i--);
          eval("r=o[APPLY](" + aa + ")");
      }
      delete o[APPLY];
      return r;
    };
    // fix ICommon
    ICommon.valueOf.prototype.inherit = function() {
      return $$apply(arguments.callee.caller.ancestor, this, arguments);
    };
  }

  // array fixes
  if (![].push) Array.prototype.push = function() {
    for (var i = 0; i < arguments.length; i++) {
      this[this.length] = arguments[i];
    }
    return this.length;
  };
  if (![].pop) Array.prototype.pop = function() {
    var $item = this[this.length - 1];
    this.length--;
    return $item;
  };
};