改变this指向
call()
apply()
bind()
call和apply都能函数调用(立即调用),参数1都是要改变this的方向,参数二都是调用函数时需要传递的实参,只是apply需要以数组的方式传参
bind没有调用函数的功能,但会返回一个新函数,参数1,2和call相同
for(var i=0;i<btns.length;i++){btns[i].onclick=function(){// 点击事件函数内部的this指的是当前点击的buttonsetTimeout(function(){// this.style.color=red;// 原本定时器内部this指向windowthis.style.color='red';}.bind(this),2000)// this.style.color='red';}}console.log(p2.getAge.apply(p1,[2021]));console.log(p2.getAge.call(p1,2021));
