前面我们学习了改变this指向的两个方法:call、apply
下面要隆重介绍第三种改变this指向的方法 ——bind
首先我们通过非常简单的一小段代码看一下bind的基本使用:
var x = 10;
function show(){
console.log(this.x);//10 20
}
show();
var aO = {
x: 20
}
var newShow = show.bind(aO);
newShow();
还可以传入参数
var x = 10;
function show(a, b){
console.log(this.x, a, b);//10 'a' 'b' 20 'c' 'd'
}
show('a', 'b');
var aO = {
x: 20
}
var newShow = show.bind(aO, 'c', 'd');
newShow();
//var newShow = show.bind(aO, 'c');
//newShow('d');
除此之外,在单对象编程的过程中,bind发挥了重大的作用:需求如下,在页面中有一个button按钮,在点击button时,打印相应信息。