如何将参数传递回匿名回调函数?

时间:2014-04-25 19:55:52

标签: javascript

我对这是如何工作感到困惑。我不是javascript的新手,我以前做过这个,很久以前我已经丢失了代码。我不知道这个场景是指什么,因为搜索术语callbacks似乎没有出现任何相关信息。

1)这个操作叫什么? (即:回调,回传等)
2)如何在doStuff()中将参数传递回匿名函数?

命名功能/对象

function doStuff(param1,anonymousFunction){
   //what do I do here to pass a value to 'anonymousFunction()'?
   //Can I just declare a variable?
}

使用匿名函数的FunctionCall作为参数

doStuff('string', function(variableThatIWantToAccess){
   console.log(variableThatIWantToAccess);
});

3 个答案:

答案 0 :(得分:1)

function doStuff(param1,anonymousFunction){
   //what do I do here to pass a value to 'anonymousFunction()'?
   //Can I just declare a variable?

   anonymousFunction( param1 );
 }

答案 1 :(得分:1)

要将数据传递给回调函数,只需使用正确的参数调用回调。

实施例

function doStuff( callback, data ){
  callback( data );
}

doStuff( alert, 'a small dog' );

working jsfiddle

修改

评论显示OP对jQuery感到疑惑。

类似jQuery-event-handler的函数的一个例子。

function listen( eventType, callback ){
  document.addEventListener( eventType, callback );
}

答案 2 :(得分:1)

嗯,只是:

function doStuff(param1, anonymousFunction) {
    anonymousFunction(param1 + " parameter");
}

doStuff('string', function (variableThatIWantToAccess){
   console.log(variableThatIWantToAccess); // 'string paramter'
});

AKA callback