在Javascript函数中返回与回调

时间:2011-05-29 05:58:26

标签: javascript nowjs-sockets

说我写这个函数......

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

alert(sayHi());将返回“hi”。

现在,如果我这样写的话......

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

如何使用此功能显示“hi”?

基于此处的示例:http://nowjs.com/doc

6 个答案:

答案 0 :(得分:4)

你把一个函数传递给sayHi,所以我想这个:

sayHi(alert);

答案 1 :(得分:1)

你必须定义一些回调函数或传递一个匿名函数:

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

试试这个:

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

您的新sayHi函数未返回值,因此您必须在回调函数中执行警报。

答案 4 :(得分:0)

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

使用回调时,您必须颠倒思考过程。不是先写下一个操作,而是最后写下一个操作。

答案 5 :(得分:0)

这里的示例回调是一个函数。所以你应该传递函数参数。

您可以通过两种方式执行此操作:

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

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

    sayHi(some_fun)

或者你可以在调用它时传递函数:

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

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