手把手教你了解call,apply,bind的作用与区别

1.他们都属于Function.prototype的方法,所以每一个function实例都有这三个属性。

2.作用:改变this指向;

3.区别:

主要是使用方法与传入参数的区别。

function1.call(callBackObj, param1,param2); //传入列举参数;

function1.apply(callBackObj, [param1, param2]); //传入列举参数组成的数组;

function.bind(callBackObj)(param1, param2);

function.bind(callBackObj,param1, param2)(); //bind返回的是一个函数,所以需要()执行,传入参数有两种方法,都是列举传入参数。

原文地址:https://www.cnblogs.com/crushxz/p/14148297.html