天天看点

call,apply,bind方法区别

相同点:功能都是改变this定向,为了对对象进行方法扩展的。

bind() 不能即时调用,需要一个新方法调用

//方法一

var fun = opj.bind();

fun();

//方法二

opj.bind(‘click’,function(){

……

});

call() 和 apply() 方法作用一样 使对象的方法进行扩展!

他们的参数不一样!

call(opject,参数1,参数2,参数3,…)

apply(opject,[参数1,参数2,参数3,…]);

同通俗解释法:

call()相当于一个中间人,富裕一个对象本来没有的方法