inherits_browser.js
 1  if (typeof Object.create === 'function') {
 2    // implementation from standard node.js 'util' module
 3    module.exports = function inherits(ctor, superCtor) {
 4      if (superCtor) {
 5        ctor.super_ = superCtor
 6        ctor.prototype = Object.create(superCtor.prototype, {
 7          constructor: {
 8            value: ctor,
 9            enumerable: false,
10            writable: true,
11            configurable: true
12          }
13        })
14      }
15    };
16  } else {
17    // old school shim for old browsers
18    module.exports = function inherits(ctor, superCtor) {
19      if (superCtor) {
20        ctor.super_ = superCtor
21        var TempCtor = function () {}
22        TempCtor.prototype = superCtor.prototype
23        ctor.prototype = new TempCtor()
24        ctor.prototype.constructor = ctor
25      }
26    }
27  }