本系列文章是本人学习相关知识时所积累的笔记,以记录自己的学习历程,也为了方便回顾知识;故文章内容较为随意简练,抱着学习目的来的同学务必转移他处,以免我误人子弟~

Function.prototype.apply.call和Function.prototype.call.apply有什么用以及区别

  • Function.prototype.apply.call(fn, obj, args)
    相当于
    fn.apply(obj,args)
    相当于
    obj.fn(...args)

  • Function.prototype.call.apply(fn,[obj,...args])
    相当于
    fn.call(obj,...args)
    相当于
    obj.fn(...args)

使用Reflect.apply(func, thisArg, args)代替

  • Reflect.apply方法等同于Function.prototype.apply.call(func, thisArg, args),用于绑定this对象后执行给定函数。