call和apply都用用来调用函数并且绑定一个this,这个this为第一个传入的参数
call和apply的区别
call传入参数时一个个的传入的
例如: fn.call(obj,1,2,3)
apply传入后面的参数是采用数组的形式
fn.apply(obj,[1,2,3,4,5])
注意当第一个参数是undefind和null时this都是window
call的性能比apply的性能要好特别是在参数大于三个时,更多的还是使用call
bind
bind不会执行函数,fn.bind(obj)是返回一个新的函数
所以可以fn.bind(obj)()来执行
关于bind参数传递,两个括号都可以