美文网首页
实现函数call方法

实现函数call方法

作者: huanghaodong | 来源:发表于2020-04-28 10:27 被阅读0次
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
}

相关文章

  • js实现call,aplply,bind

    call函数实现 首先先知道call函数实现了什么功能 函数在调用call方法时会执行当前函数 call方法的第一...

  • 实现函数call方法

  • 继承

    1.构造函数实现继承,具体:在构造函数中,使用apply()和call()方法实现继承 function Pers...

  • JS中call方法遇到的困惑

    简单说一下call方法调用父类构造函数。 在一个子构造函数中,你可以通过调用父构造函数的call方法来实现继承,类...

  • JavaScript基础专题之手动实现call、apply、bi

    实现自己的call MDN 定义: call() 提供新的 this 值给当前调用的函数/方法。你可以使用 ca...

  • Js

    函数调用 间接调用 call方法:person(函数名).getName(方法名称). call(this指向(w...

  • call,bind,apply 方法的原理解析和原生JS模拟实现

    call 方法内部实现 将这个函数设为指定对象的属性 传参后执行这个对象的方法 删除这个函数 返回对象的函数执行结...

  • 详解如何实现call/apply/bind

    call、apply 及 bind 函数内部实现是怎么样的? 一、call call改变了this指向 函数执行 ...

  • 手动实现前端轮子

    1.手动实现 call、apply、bind call 实现 call 核心: 将函数设为对象的属性 执行&删除这...

  • js继承

    1.通过构造函数(call) 优点: 可以实现多继承(call多个父类对象)缺点: 只能继承父类的实例属性和方法,...

网友评论

      本文标题:实现函数call方法

      本文链接:https://www.haomeiwen.com/subject/okwmwhtx.html