实现函数call方法

2020-04-28  本文已影响0人  huanghaodong
Function.prototype.call2 = function(context) {
  //当context为null时指向window
  context = context || window
  context.fn = this
  var argumentsArr = []
  for(var i =0; i<arguments.length; i++){
    if(i >0 ) {
      argumentsArr.push('arguments[' + i + ']'); 
    }
  }
  //多个参数组合在一起然后调用fn
  var result = eval('context.fn('+argumentsArr+')')
  delete context.fn
  return result
}

上一篇 下一篇

猜你喜欢

热点阅读