【发布时间】:2011-02-17 15:02:58
【问题描述】:
我可以通过下面提到的两种方式在 javascript 中实现事件处理程序,我想知道这两种样式之间是否有任何区别,或者在这两种情况下 click_handler 是一个闭包并且没有区别。我很困惑,因为我在某处读到只有在“return”与匿名函数一起使用时才形成闭包
function foo() {
var a = 5;
function click_handler() {
a++;
}
someElement.addEventHandler('click', click_handler, false);
}
或
function foo() {
var a = 5;
return function() {
a++;
}
}
click_handler = foo()
someElement.addEventListener('click', click_handler, false);
【问题讨论】:
标签: javascript closures