双越老师,您好!
在课程中,有一个面试例题叫做“手写bind函数”。我仔细看了您的代码,发现它只能实现作用域绑定,不能实现科里化。这是您的代码:
Function.prototype.bind = function() {
// 将参数拆解为数组
const args = Array.prototype.slice.call(arguments)
// 获取 this (数组第一项)
const t = args.shift()
// fn1.bind(...) 中的 fn1
const self = this
// 返回一个函数
return function() {
return self.apply(t, args)
}
}