有人可以向我解释什么是真正简单的语言?

可能重复:
什么是.NET中的“闭包”?

我目前正在研究lambda表达式,并且闭包一直在继续。 有人能用真正简单的语言向我解释吗?


我会说这是一个重复的:.NET中的'闭包'是什么?

“从本质上讲,闭包是一段代码,可以在稍后执行,但它保留了它最初创建的环境,即它仍然可以使用创建它的方法的局部变量等,即使在该方法已经完成执行。“


你的鞋子在大厅里; 你的夹克在厨房里。 当他们走出去时,戴上他们的手套(他们在抽屉里)。

现在你可以去玩你的车了。 十一点你一定要去角落店买面包。

孩子玩。 忘记所有的世界。

闹钟关闭; 孩子看到:十一点! 哦 - 去外面用“走出去”的方式购买面包。


我喜欢Javascript的Google示例(您可以轻松地将其转换为C#)。 这不是一个5岁就能理解的东西,但是我怀疑平均5岁的孩子会理解一个功能是什么。

/*
* When a function is defined in another function and it
*    has access to the outer function's context even after
*    the outer function returns
* An important concept to learn in Javascript
*/

function outerFunction(someNum) {
  var someString = 'Hai!';
  var content = document.getElementById('content');
  function innerFunction() {
    content.innerHTML = someNum + ': ' + someString;
    content = null; // IE memory leak for DOM reference
  }
  innerFunction();
}
链接地址: http://www.djcxy.com/p/149.html

上一篇: Can someone explain it to me what closure is in real simple language ?

下一篇: Delete commits from a branch in Git