call,apply,bind用法
2017-11-12 本文已影响0人
北城_荒
实现输入字符串用特定的符号连接起来
call
function tt(){
console.log(Array.prototype.join.call(arguments,'--'))
}
tt('a','b') //a--b
call(a,b) a指的是把this的指向更改到a,如果不写可用null占位符填充,b指的是参数的传递
apply
function tt(){
console.log(Array.prototype.join.apply(arguments,['--']))
}
tt('a','b') //a--b
apply的用法大概与call用法一致,唯一的区别就是参数的传递
bind
var join=Array.prototype.join.bind(arguments)
console.log(join('--'))
}
tt('a','b') //a-b
bind指的是把Array.prototype.join的方法绑定到auguments上面,让所有的实参有数组相应的功能,bind的用法其实也是更改this的指向