函数节流和函数防抖及闭包
2020-07-28 23:11
127 查看
函数节流:是确保函数特定的时间内至多执行一次。
实现:
const _.throttle = (func, wait) => { let timer; return () => { if (timer) { return; } timer = setTimeout(() => { func(); timer = null; }, wait); }; };
函数防抖:就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。
const _.debounce = (func, wait) => { let timer; return () => { clearTimeout(timer); timer = setTimeout(func, wait); }; };
闭包:有权访问另外一个函数作用域中的变量的函数
优点:
(1)可以重复使用变量,并且不会造成变量污染
(2)可以用来定义私有属性和私有方法
缺点:
比普通函数更占用内存,会导致网页性能变差
function Girl(name, bf) { var secret = bf; this.name = name; //通过showlove做接口来读取私有属性secret this.showlove = function () { return secret; } //移情别恋 this.movelove = function () { secret = "薛潘"; } } var girl = new Girl("林黛玉", "贾宝玉"); alert(girl.name + "喜欢" + girl.showlove());//林黛玉喜欢贾宝玉 girl.movelove(); alert(girl.name + "喜欢" + girl.showlove());//林黛玉喜欢薛潘
相关文章推荐
- 函数防抖和节流
- js性能优化之函数防抖、节流
- 函数防抖(debounce)函数节流(throttle)
- 关于函数防抖和函数节流
- ja面试 函数的节流和防抖
- 防抖函数和节流函数小列
- 函数的防抖与节流-js
- 两张图彻底理解 函数节流和函数防抖
- 小程序自定义导航栏,页面滚动到一定高度时,加上背景色,用到了节流函数和函数防抖
- 函数中的防抖和节流
- 函数防抖与节流
- 函数节流与函数防抖
- JavaScript之函数节流throttle方法和函数防抖debounce方法--阿里前端笔试题&&前端面试准备
- 一文看懂如何简单实现节流函数和防抖函数
- js函数防抖与节流
- js函数节流和防抖
- 事件委托、函数节流及防抖
- 函数防抖、函数节流
- 函数防抖和节流
- 函数节流 + 函数防抖