我如何了解“封闭”使用情况?
维基百科,自由的百科全书: Closure(计算机科学)
在计算机科学中,闭包是一个在包含一个或多个绑定变量的环境中进行评估的函数。 被调用时,函数可以访问这些变量。 明确使用闭包与函数式编程和ML和Lisp等语言相关。 诸如其他语言中的对象的构造也可以用闭包来建模。
要在JavaScript中使用这个内容,有人能指出我如何适用这个例子吗?
(使用来自jQuery的示例)
function SetClassOnHover(className){
$("td").hover(
function () {
$(this).addClass(className);
},
function () {
$(this).removeClass(className);
}
);
}
当在每个函数的作用域内使用变量className时,闭包将发挥作用。 当SetClassOnHover退出时,两个函数都必须在className上保留一个句柄,以便在调用函数时访问它的值。 这就是封闭所能实现的。
搜索“JavaScript关闭”给了很多令人鼓舞的外观链接。 排名前三的是这两个(第三个链接是第二个重新格式化的版本):
如果这些对你没有帮助,请解释一下为什么我们能够更好地帮助你。 如果您在提问之前没有进行搜索,那么请等待下一次:)
闭包的一个实际例子是当它们被用来创建“私有”变量时,比如
function incrementer(){
var i=0;
this.increment=function(){
i++;
}
this.get=function(){
return i;
}
}
访问我的唯一方法是使用方法get,并且更改它的唯一方法是使用方法increment。 在类中,你可以这样做来模拟私有变量。
链接地址: http://www.djcxy.com/p/51263.html