关于函数节流
// 函数节流
export const debounce = (func, delay = 200) => {
let timer = null;
return function (...args) {
timer && clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
}, delay);
};
};1.func.apply(this, args);中的this绕来绕去的,能否讲解下这里的this指向?
2.args传递的是什么?什么情况下会传递多个参数?
21
收起
正在回答
2回答
同学你好,问题解答如下:
1.setTimeout中使用的箭头函数,箭头函数中的this在函数创建时绑定。定时器是在如下匿名函数中创建的,所以这个定时器中使用的this与这个匿名函数的this指向的是相同的。

接下来就看这个匿名函数中this的指向了。如下分析:
上面匿名函数是debounce函数的返回值,如下调用了debounce,返回值就是上面的匿名函数。函数中的this指向函数调用者。也就是说这个匿名函数是在MeSearchBox执行的,所以this指向的是当前组件MeSearchBox。

2.args在这里没有用上,可以去掉哦。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星