bind()主要作用是更改函数的this指向,与其他指向函数不同的是bind()是不会触发函数执行,只更改this的指向.
bind应用场景主要用于只改变this指向,但不处罚函数的情况例如:
在btn.onclick事件下想要实现3秒禁用按钮的情况下,点击事件中this指向触发的按钮,但点击事件下的定时器函数中this会指向windows,解决的方法有
1.在点击时间下,定时器函数外部,定义变量存放this,用变量代替定时器中的触发对象,
2.直接querySelector指定获取对象
以上两种,第一种会创建空间存放变量,若事件过多的化会产生内存的占用浪费,第二种获取对象方法则是过于繁琐,在这种情况下就体现除bind()的作用,直接在定时器函数后使用bind()指向触发者.