Javascript JS-闭包及其使用
我目前正在学习道格拉斯·克罗克福德的《Javascript:好的部分》,我试图理解闭包到底是什么。其描述如下:Javascript JS-闭包及其使用,javascript,closures,Javascript,Closures,我目前正在学习道格拉斯·克罗克福德的《Javascript:好的部分》,我试图理解闭包到底是什么。其描述如下: "The function object created by a function literal contains a link to that outer context. This is called closure. " 并提供了以下示例: var add = function (a, b) { return a + b; }; 然而,如果我理解正确的话,我在这里看到的只
"The function object created by a function literal contains a link to that outer
context. This is called closure. "
并提供了以下示例:
var add = function (a, b) {
return a + b;
};
然而,如果我理解正确的话,我在这里看到的只是一个函数文本,而不是一个闭包。那么在最简单的形式中,闭包是什么样子的呢 看一看,我认为这在技术上会有帮助,文字仍然会围绕任何周围的变量创建一个闭包。然而,它并不是一个非常有用的工具。当函数文本需要比外部作用域持续更长时间时,闭包非常有用。我能想到的最简单有用的闭包是
varadd=function(to){returnfunction(val){alert(val+to);};}代码>。使用asvar加法器=add(4);加法器(5);加法器(6)
等。返回的函数literal在to
变量上创建一个闭包。感谢这两个有用的注释!这些帮助我更好地理解闭包是什么!干杯