bind优化

来源:6-5 作用域相关的面试题 - part1

1007123589qaz

2020-10-29

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)
      }
    }
写回答

1回答

双越

2020-10-30

很赞!

0
1
想做大神
老师,我看前面有个同学手写bind您说用了apply和es6的结构语法,说:一般情况下,只要支持 apply 和 ES6 的解构语法 ,那它也肯定支持 bind ,对吧? 但是我看这个也是用了apply和es6的结构语法,为什么就很赞呢?我不太明白他们两个写的区别在哪?
2021-06-23
共1条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程