手写call 、 apply 、 bind

// 手写 call
Function.prototype.mycall = function(context){
  var args = Array.from(arguments)
  var obj = args.slice(0,1)[0]
  var fn = this
  obj.fn = fn
  args = args.slice(1)
  return obj.fn(args)
}

function fn(){
  console.log(this.name)
}

var o = {name : ‘lhx‘}
fn.mycall(o)

手写call 、 apply 、 bind

上一篇:Active Record模式和MP的Mapper模式的比较


下一篇:QT事件过滤器(QT事件处理的5个层次:自己覆盖或过滤,父窗口过滤,Application过滤与通知)