call、apply、bind三者的用法和区别
call、apply、bind三者的用法和区别
call
非严格模式
如果不传参数,或者第一个参数是null或nudefined,this都指向window
严格模式
第一个参数是谁,this就指向谁,包括null和undefined,如果不传参数this就是undefined
apply
apply:和call基本上一致,唯一区别在于传参方式
fn.call(obj, 1, 2);
fn.apply(obj, [1, 2]);
bind
bind:给方法绑定上下文