修改this 指向 之bind

<button>点击</button>//定义按钮
<script>
var btn=document.querySelector("button");//获取到按钮
btn.onclick=function(){//绑定点击事件
this.disabled=true;//此时的this指向调用者的本身,也就是btn, this.disabled=true;表示这个按钮被禁用,也就被灰色不可以点击
setTimeout(function(){//定义一个定时器
this.disabled=false;//此时的this指向的定时器自身,所以这样写是不会使btn在三秒钟后恢复
}.bind(this),3000)//重点:定时器的花括号外使用 .bind(this)就可以使this指向会btn,三秒钟后即可恢复按钮
}
</script>

posted @ 2022-03-31 09:46  诡道也  阅读(101)  评论(0编辑  收藏  举报