有人可以向我解释什么是真正简单的语言?
可能重复:
什么是.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 ?