关于apply和call

apply和call都是函数的方法, 两个方法都能改变函数里面 this 的指向,改变后的函数 this 指向方法内的第一个参数。 apply和call 的主要区别在于,apply 后面向函数传递参数是借用的数组的形式,而 call 则使用逗号将参数分隔开即可, 详情请看下方示例。
call: 可以直接调用函数:

function fun(){ console.log('hello world!') } fun.call() //会直接输出 hello world!

然后一个关于改变 this 指向的直观例子:
function say(){ console.log(this.name)//可以看到这里并没有name } //定义一个对象 const cat = { name: '小花' } say.call(cat)//这里会直接输出 小花

示例:
Document

图示:
关于apply和call
文章图片

【关于apply和call】欢迎指错!

    推荐阅读