H5W3
当前位置:H5W3 > 其他技术问题 > 正文

【Web前端问题】bind()的实现

clipboard.png

这个函数为什么要再嵌套一层函数呢?

Function.prototype.bind=function(context){
    return this.apply(context,arguments)
   
}

这样写不行吗

回答:

MDN的解释是:bind()方法会创建一个新函数,称为绑定函数,当调用这个绑定函数时,绑定函数会以创建它时传入 bind()方法的第一个参数作为 this,传入 bind() 方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数。

回答:

bind的用法是,func.bind(someone)得到新的func,然后执行func();
你这个写法,func.bind(someone),func已经执行了。

回答:

如果自定义的函数需要传入参数时,你就会发现不同了

回答:

先看一下apply是做什么的
传送门

本文地址:H5W3 » 【Web前端问题】bind()的实现

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址