闭包是什么
一句话:闭包是指有权访问另一个函数作用域中变量的函数
使一个函数能访问另一个函数作用域中的变量
闭包优缺点
-
使用闭包的优点是可以避免全局变 量污染,延长变量生命周期。
-
缺点是由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在低版本IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。
防抖和节流,以及应用场景
简述:
(1)防抖:就是将一段时间内连续的多次只会执行最后一次触发。
(2)节流:减少一段时间内触发的频率
场景:
防抖:earch搜索联想,用户在不断输入值时或者登录时点击按钮
节流:鼠标拖拽
柯里化
柯里化是一个函数,它一次接受一个参数,并返回一个新函数,该函数期待下一个参数,利用闭包的原理。它是一种函数转换,将 f(a,b,c) 转换为可以被以 f(a)(b)(c) 的形式进行调用。
优点:
-
可以把函数式编程变得简洁,没有冗余。
-
可以将函数作为返回值输出,提前返回。
纯函数
1.返回值只和函数参数有关,与外部