js中this的理解
this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象
example:
function calc(base,bonus){
alert(this.name+"的总工资是"+(base+bonus));//此处的this谁调用calc函数就指谁
}
var king={name:"king"};
var hmm={name:"hmm"}
calc.call(king,5000,4600);//此时的this指代king
calc.apply(hmm,[4000,4500]);//此时的this指代hmm
当this指代的内容不是自己想要的时候,可以用bind进行绑定
example:
没有用bind绑定时
使用bind绑定
扬人之长,谅人之过!