实现函数的bind方法

function objectFactory(fn){
  var obj = new Object();
  var constructor = [].shift.call(arguments);
  obj.__proto__ = constructor.prototype;
  constructor.apply(obj, arguments)
  return obj;
}

使用

function A(a){
  this.a = a
}
A.prototype.getA = function(){
  console.log(this.a)
}

var o = objectFactory(A, '我是a')
o.getA() //我是a

你可能感兴趣的:(实现函数的bind方法)