Welcome to 16892 Developer Community-Open, Learning,Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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的,好像没起到什么作用啊


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
412 views
Welcome To Ask or Share your Answers For Others

1 Answer

如果这个函数作为某个对象的方法,this指向就会有问题


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to 16892 Developer Community-Open, Learning and Share
...