请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

bind优化

function sum(num1,num2){
      console.log(num2,'==num2')
      return this.x+this.y+num1
    }
 // test 是还可以接收参数的
let test=sum.bind({ x: 1, y: 2 },1)
console.log(test(8))

代码实现

Function.prototype.bind1=function(context){
      let _this=this;
      let args=Array.prototype.slice.call(arguments,1)
      return function(...nexArgs){
        let allArgs=[...args,...nexArgs]
        return _this.apply(context,allArgs)
      }
    }

正在回答 回答被采纳积分+3

1回答

双越 2020-10-30 09:06:00

很赞!

0 回复 有任何疑惑可以回复我~
  • 老师,我看前面有个同学手写bind您说用了apply和es6的结构语法,说:一般情况下,只要支持  apply 和 ES6 的解构语法 ,那它也肯定支持 bind ,对吧?
    但是我看这个也是用了apply和es6的结构语法,为什么就很赞呢?我不太明白他们两个写的区别在哪?
    回复 有任何疑惑可以回复我~ 2021-06-23 18:53:03
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号