簡體   English   中英

如何將參數傳遞回匿名回調函數?

[英]How do I pass a parameter back to an anonymous callback function?

我對這是如何工作感到困惑。 我不是javascript的新手,我以前做過這個,很久以前我已經丟失了代碼。 我不知道這個場景是指什么,因為搜索術語callbacks似乎沒有出現任何相關信息。

1)這個操作叫什么? (即:回調,回傳等)
2)我在doStuff()如何將參數傳遞回匿名函數?

下面命名為Function / Object

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);
});
function doStuff(param1,anonymousFunction){
   //what do I do here to pass a value to 'anonymousFunction()'?
   //Can I just declare a variable?

   anonymousFunction( param1 );
 }

要將數據傳遞給回調函數,只需使用正確的參數調用回調。

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

doStuff( alert, 'a small dog' );

工作jsfiddle

編輯

評論顯示OP對jQuery感到疑惑。

類似jQuery事件處理程序的函數示例。

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

嗯,只是:

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

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

AKA 回調

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM