<script>
Function.prototype.bind1 = function(context,...bindArgs){
// context 是bind传入的this
// ...bindArgs 是传入的任意个参数
const self = this //当前函数本身
// bind 不执行函数 所以调用的时候返回一个函数
return function(...args){
const newArr = bindArgs.concat(args)
return self.apply(context,newArr)
}
}
function fn(a,b,c){
console.log(this,a,b,c)
}
const fn1 = fn.bind1({x:2},10);
fn1(20)
</script>
javaScript 手写 bind
最新推荐文章于 2024-07-25 15:46:04 发布