美文网首页
关于闭包 vue3 防抖 节流

关于闭包 vue3 防抖 节流

作者: 米卡卡米 | 来源:发表于2022-02-21 17:37 被阅读0次

闭包好像成了面试题必考,干脆就学一下。
我暂时理解的闭包:一个函数中嵌套着另一个函数,这个函数就是闭包。闭包不会内存泄露,也不会被清除。所以不能滥用,滥用会导致内存过大。
//开始学习:
基础的概念:JS的执行上下文。就是JS是有作用域的,一个全局作用域,一个是函数里面的块级作用域。


image.png

日常使用闭包的地方:防抖、节流。
防抖:执行多次后的最后一次。比如10秒内点了10下button,执行的是第十下click事件,在延迟多少秒后。
节流:在10秒内执行第一次点击、在第二个10秒执行第二个10s的第一次点击。
``var timer = null,
last = 0;
//请把这个放外面
const methods = {
fd() {
methods.debounce(add, 1000);
},
jl() {
methods.throttle(addjl, 700);
},
// 节流
throttle(fn, delay) {
return (function (...args) {
var nowTime = Date.now();
if (nowTime - last > delay) {
last = nowTime;
fn.call(this, args);
}
})();
},
// 防抖
debounce(fn, delay) {
return (function (...args) {
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(() => {
fn.call(this, args);
// console.log("???");
// fn();
}, delay);
})();
},
};`
vue3和传统的防抖不执行,再return function(){}() //要加上立即执行

相关文章

  • 关于闭包 vue3 防抖 节流

    闭包好像成了面试题必考,干脆就学一下。我暂时理解的闭包:一个函数中嵌套着另一个函数,这个函数就是闭包。闭包不会内存...

  • JS性能优化之——节流和防抖

    闭包 由于节流和防抖函数的实现都用到了闭包,所以在了解节流和防抖之前我先简单介绍下什么是闭包。 由于js代码在一个...

  • 闭包实现函数防抖节流

    闭包函数的典型应用就是防抖节流函数 闭包 红宝书(p178)上对于闭包的定义: 闭包是指有权访问另外一个函数作用域...

  • 前端面试题【Day01】

    本篇绪论1,闭包2,深浅拷贝3,防抖、节流 1,闭包 闭包的定义很简单:函数 A 返回了一个函数 B,并且函数 B...

  • 2021年 面试

    泽怡科技 性能优化 promise 防抖节流 缓存机制 cookie、localstorage 原型链、闭包 lo...

  • JavaScript 节流和防抖

    什么是节流和防抖 节流和防抖的本质都是用闭包的形式,通过对事件对应的回调函数进行包裹,用自由变量缓存时间信息,最后...

  • 面试总结之基础篇(1)

    深拷贝与浅拷贝 原型与原型链 防抖节流 this 指向 new关键字 深度剖析js闭包

  • 谈谈js中的节流和防抖函数

    关于节流和防抖,这篇文章说的很好了,深入lodash源码分析防抖和节流深入篇 | Lodash 防抖和节流是怎么实...

  • 整理

    内容 浏览器渲染 执行上下文 js 事件循环机制 this 作用域 new 原型 原型链 防抖&节流 闭包 深浅拷...

  • 函数闭包应用节流和防抖

    应用场景主要是用户频繁操作后,通过定时请求。可以减少服务器的请求次数。 防抖debounce 节流 throttl...

网友评论

      本文标题:关于闭包 vue3 防抖 节流

      本文链接:https://www.haomeiwen.com/subject/uujaoltx.html