【发布时间】:2014-12-06 11:43:28
【问题描述】:
我有这个代码:
var barfunction = function(foocallback){
foocallback('bar');
}
var foofunction1 = function(){
var foovar = 'foo';
barfunction(function(barvar){
/*huge amounts of code */
console.log('f1' + foovar);
console.log('f1' + barvar);
});
}
foofunction1();
匿名内联函数可以访问 foovar 并记录 foo、bar。现在我想将大量代码移动到它自己的函数中以保持 foofunction 可读,同时保持对 foovar 的引用。
var barcallback = function(barvar){
/* huge amounts of code */
/* need foovar here */
console.log('f2' + barvar);
}
var barfunction = function(foocallback){
foocallback('bar');
}
var foofunction2 = function(){
var foovar = 'foo';
barfunction(barcallback);
}
这种情况的首选解决方案是什么?谢谢
【问题讨论】:
-
foocallback 是从哪里来的?
标签: javascript callback closures