JS函数改变this的指向bind(201903090219-----54)
javascript吧
全部回复
仅看楼主
level 5
1. 不会调用原来的函数 可以改变原来函数内部的this 指向
2. 返回的是原函数改变this之后产生的新函数
3. 如果有的函数我们不需要立即调用,但是又想改变这个函数内部的this指向此时用bind
fun.bind(thisArg, arg1, arg2, ...)
thisArg:在 fun 函数运行时指定的 this 值
arg1,arg2:传递的其他参数
//参数和call差不多
4. 我们有一个按钮,当我们点击了之后,就禁用这个按钮,3秒钟之后开启这个按钮
// var btn1 = document.querySelector('button');
// btn1.onclick = function() {
// this.disabled = true; // 这个this 指向的是 btn 这个按钮
// setTimeout(function() {
// 定时器函数里面的this 指向的是window
// this.disabled = false; //
// }.bind(this), 3000); // 这个this 指向的是btn 这个对象,因为这个this在这个函数外面,这个时候我们不想立即执行这个函数,而是要让定时器到时候自动调用他
// }
2021年12月16日 03点12分 1
level 1
改变this指向的三个函数都会了吗
2021年12月16日 04点12分 2
1