javascript - 闭包有什么好处,它们通常在什么时候使用?

标签 javascript closures

我是一名 Web 开发人员,但很多人都在寻找稍微更高级的技能,而理解闭包似乎处于最前沿。

我得到了整个“执行上下文创建对永远不会被销毁的变量的引用”的事情,但实际上,这是 JavaScript 中的某种私有(private)或静态变量实现吗?

最佳答案

它们有很多好处,例如可见性(就像传统 OO 中的私有(private)成员)。

var count = function(num) {

   return function(add) {
       add = add || 1;
       num += add;
       return num;
   }

}

See it .

我的 count() 可以用一个数字作为种子。当我为返回分配一个变量时,我可以用一个可选的数字调用它以添加到内部 num(最初是一个参数,但仍然是返回函数范围的一部分)。

This is a pretty good overview .

另见 Stack Overflow

关于javascript - 闭包有什么好处,它们通常在什么时候使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4102659/

相关文章:

javascript - 出现错误时重新运行函数并传递结果

javascript - 在 Angularjs 中将服务与 Controller 分开

javascript - 创建一个重复 x 次的字符串

javascript - 在以下情况下,如何在主菜单悬停时显示子菜单项?

javascript - 我需要让 JS 创建的页面显示父窗口中的一些代码

scala - `Unit` 闭包的返回类型

function - 我可以有一个在 Rust 中不被类型化为闭包的匿名函数吗?

closures - Tcl:惯用语

javascript - 关于 Javascript 模块

javascript - 在闭包之外引用数组是否会导致内存泄漏?