function curry(func){
let args=[].slice.call(arguments,1)
let func_length=func.length
return function(){
let newArgs = args.concat([].slice.call(arguments));
if(newArgs.length<func_length){
return curry.call(this,func,...newArgs)
}
return func.apply(this,newArgs)
}
}
看到这段代码,想问一下两个return语句为什么要用.call的形式,直接调用不行吗,这两个this都是指向window的,好像没起到什么作用啊
如果这个函数作为某个对象的方法,this指向就会有问题