繁体   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