这三个方法都是用于改变函数执行时的this指向 这三个方法都是挂在Funciton的prototype上,因此所有的方法都可以调用,这三个函数如果不传参或者第一个参数为null或者undefine,会自动将window传入
1.call()接收的参数直接写在后面
function.call(thisArg, arg1, arg2, …)
2.apply() 用法与call一样,只不过接收参数的时候必须是一个数组或者伪数组。不是数组或者伪数组会报错
function.apply(thisArg, [argsArray])
3.bind(),用法与call()一样,也是可以直接接收多个参数(也可以等到调用返回的方法时再传入),只不过该方法是返回一个函数,可以等到需要时再执行。
两分钟理清call-apply-bind:https://www.bilibili.com/video/BV1Ug411F7fZ?spm_id_from=333.1007.top_right_bar_window_history.content.click