题解 | #Function.bind# 需要满足两个条件
Function.bind
https://www.nowcoder.com/practice/ecad0164931847f78c55278cee56e544
Function.prototype._bind = function(target, ...arguments1) { if(typeof target !== 'object'){ target = window; } target.fn = this; return function(...arguments2){ let args = [...arguments1, ...arguments2]; return target.fn(...args) } }
MDN文档:Function
实例的 bind()
方法创建一个新函数,当调用该新函数时,它会调用原始函数并将其 this
关键字设置为给定的值,同时,还可以传入一系列指定的参数,这些参数会插入到调用新函数时传入的参数的前面。
- 需要得到一个新函数,即return一个函数。
- bind时传入的参数,插入新函数传入的参数前面,即参数为(...bind时传入的参数,...调用新函数传入的参数)