【笔记】JS中的bind函数

前言

JS中的bind()函数学习笔记

改变函数的this指向

无形参列表

  • 不会立即执行函数,只会改变函数的this指向
  • 返回的是原函数的拷贝
1
2
3
4
5
6
7
8
9
function 函数名() {
...
}

let 对象名 = {
...
};

let 新函数 = 函数名.bind(对象名);

应用

定时器传递this
1
2
3
4
5
6
7
let btn = document.querySelector("button");
btn.onclick = function() {
this.disable = true;
setTimeout(function() {
this.disable = false;
}.bind(this), 3000);
}

有形参列表

1
2
3
4
5
6
7
8
9
function 函数名(参数, 参数) {
...
}

let 对象名 = {
...
};

let 新函数 = 函数名.bind(对象名, 参数, 参数);

完成

参考文献

哔哩哔哩——黑马前端