apply、call 、bind有什么作用,什么区别
(1) call
fn.call(context, param1, param2)
调用一个函数,第一个参数为 this
(2) apply
fn.apply(context, paramArray)
与 call 相同,不同之处为后面参数是数组的形式,即参数个数不定时可以使用
(3) bind
返回一个新函数,并且使函数内部的 this 为传入的第一个参数
var fn = obj.fn.bind(obj)
图片来自饥人谷
fn.call(context, param1, param2)
调用一个函数,第一个参数为 this
fn.apply(context, paramArray)
与 call 相同,不同之处为后面参数是数组的形式,即参数个数不定时可以使用
返回一个新函数,并且使函数内部的 this 为传入的第一个参数
var fn = obj.fn.bind(obj)