簡體   English   中英

在 Javascript function 中返回與回調

[英]return vs. callback in a Javascript function

說我寫這個 function...

var sayHi = function() {
  return "hi";
}

alert(sayHi()); 將返回“嗨”。

現在如果我這樣寫...

var sayHi = function(callback) {
  callback("hi");
}

如何使用此 function 顯示“hi”?

基於此處的示例: http://nowjs.com/doc

你通過一個 function 來sayHi,所以我想象一下:

sayHi(alert);

您必須定義了一些回調 function 或傳遞匿名 function:

var sayHi = function(callback) {
  callback("hi");
}

sayHi(function(message){
  alert(message);
});
sayHi(function(value) {
    alert(value);
});

嘗試這個:

sayHi(function(msg){
    alert(msg)
});

您的新sayHi function 不返回值,因此您必須在回調 function 中執行警報。

sayHi(function(msg) {
    alert(msg);
});

使用回調時,您必須顛倒您的思維過程。 不是先寫下一個操作,而是最后寫下一個操作。

這里的示例回調是 function。 所以你應該通過 function 參數。

您可以通過 2 種方式執行此操作:

var some_fun = function(some_str) {
    alert(some_str);
}

var sayHi = function(callback) {
  callback("hi");
}

    sayHi(some_fun)

或者你可以在調用它時傳遞 function :

var sayHi = function(callback) {
  callback("hi");
}

sayHi(function(some_str){
  alert(some_str);
});

暫無
暫無

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

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