![](/img/trans.png)
[英]In Javascript, can a closure share scope with a function return value?
[英]Javascript Closure scope return function
我目前正在此页面上查看第二个问题的第二个解决方案,
https://www.sitepoint.com/5-javascript-interview-exercises/
我陷入困境,为什么您需要关闭。
function handlerWrapper(i) {
return function() {
console.log('You clicked element #' + i);
}
}
为什么需要返回功能。 当我尝试
function handlerWrapper(i) {
console.log('You clicked element #' + i);
}
它不起作用。 包括
console.log('You clicked element #' + i);
内返回函数呢? 它为什么起作用,为什么我需要在return函数中执行它?
提前谢谢你
好吧,很简单,可以这样说:
function printToConsole(callback) {
workOrSomething();
callback();
}
function handlerWrapper(i) {
console.log('You clicked element #' + i);
}
//This doesn't know what i you want.
printToConsole(handleWrapper); -> You clicked element #undefined
function handlerWrapper(i) {
return function() {
console.log('You clicked element #' + i);
}
}
//This does
printToConsole(handleWrapper(3)); -> You clicked element #3
我希望你有主意...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.