欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

bind.apply和apply.bind是怎么一回事

程序员文章站 2022-07-14 12:20:21
...

在看书的过程中看到Function.apply.bind有些不懂,不知道是怎么回事,平时用的时候都是单个用,没有合到一起过,寻找到原理之后在这里记录一下。
实际上Function.apply.bindFunction.apply.bind的原理都是一样的,
先将fn.bind提出来,然后用apply调用它,此时参数中的applyadd函数,arguments[add,1,2],applybindthis绑定成fn,并且传入参数,arguments,此时的,arguments[add,1,2],然后便是调用bindfnthis改变并且传入参数

function add(x, y) {
	console.log(x + y)
}
let cAdd = function (fn) {
	return fn.bind.apply(fn, arguments)
	//上边和下边是一样的
	//let fnBind = fn.bind
	//return fnBind .apply(fn, arguments)
}
let res = cAdd(add, 1, 2)
res()