3

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

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

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

现在如果我这样写...

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

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

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

4

6 回答 6

4

你将一个函数传递给 sayHi,所以我想象一下:

sayHi(alert);
于 2011-05-29T06:01:49.833 回答
1

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

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

sayHi(function(message){
  alert(message);
});
于 2011-05-29T06:01:38.167 回答
0
sayHi(function(value) {
    alert(value);
});
于 2011-05-29T06:00:43.250 回答
0

试试这个:

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

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

于 2011-05-29T06:01:20.567 回答
0
sayHi(function(msg) {
    alert(msg);
});

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

于 2011-05-29T06:01:46.780 回答
0

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

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

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);
});
于 2011-05-29T06:05:41.967 回答