JavaScript的闭包与柯里化

149 阅读1分钟

①闭包

定义:内部函数总是可以访问其外部函数中声明的变量

②闭包好处与坏处

好处:

1.缓存。将变量隐藏起来不被GC回收

2.实现柯里化,利用闭包特性完成柯里化

坏处:

1.内存消耗。闭包产生的变量无法被销毁。

2.性能问题,由于闭包内部标量优先级高于外部变量,所以需要多差找作用域链的一个层次,一定程度影像查找速度

③柯里化

定义:

柯里化(Curring)是把接受多个参数的函数转变成单一参数的函数,并且返回接受余下的参数且返回结果的新函数的技术

1.通过闭包管理

2.支持链式用

3.每次运行返回一个function

即:通过将多个参数换成一个参数,每次运行返回新函数的技术