liudong
2023-05-29 340f156319b863525e50e900c58e59b86ecb3d5e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
define(['./isObject', './_setup'], function (isObject, _setup) {
 
  // Create a naked function reference for surrogate-prototype-swapping.
  function ctor() {
    return function(){};
  }
 
  // An internal function for creating a new object that inherits from another.
  function baseCreate(prototype) {
    if (!isObject(prototype)) return {};
    if (_setup.nativeCreate) return _setup.nativeCreate(prototype);
    var Ctor = ctor();
    Ctor.prototype = prototype;
    var result = new Ctor;
    Ctor.prototype = null;
    return result;
  }
 
  return baseCreate;
 
});