这三个大佬是干什么用的
很多时候面试会问这些,就写写吧,很基础的一些东西。就是改变函数内的this的指向,再带些参数进入到函数中,随便你怎么耍了~~
call
function A(a,b,c){
console.log(a,b,c)
}
var av={}
A.call(av,1,2,3); //1,2,3
apply
function A(a,b,c){
console.log(a,b,c)
}
var av={}
A.apply(av,[1,2,3])
bind
function A(a,b,c){
console.log(a,b,c)
}
var av={}
var c=A.bind(av);
c(1,2);
区别
apply和call的区别就是传参数的方法不同,bind和其他2个的区别就是bind不是立刻调用的, 需要自己去调用。