【发布时间】:2011-05-29 14:05:41
【问题描述】:
假设我写了这个函数……
var sayHi = function() {
return "hi";
}
alert(sayHi()); 将返回“hi”。
如果我这样写的话……
var sayHi = function(callback) {
callback("hi");
}
如何使用此功能显示“hi”?
基于此处的示例:http://nowjs.com/doc
【问题讨论】:
假设我写了这个函数……
var sayHi = function() {
return "hi";
}
alert(sayHi()); 将返回“hi”。
如果我这样写的话……
var sayHi = function(callback) {
callback("hi");
}
如何使用此功能显示“hi”?
基于此处的示例:http://nowjs.com/doc
【问题讨论】:
你将一个函数传递给 sayHi,所以我想象一下:
sayHi(alert);
【讨论】:
你必须定义了一些回调函数或传递了一个匿名函数:
var sayHi = function(callback) {
callback("hi");
}
sayHi(function(message){
alert(message);
});
【讨论】:
试试这个:
sayHi(function(msg){
alert(msg)
});
您的新sayHi 函数没有返回值,因此您必须在回调函数中执行警报。
【讨论】:
sayHi(function(value) {
alert(value);
});
【讨论】:
sayHi(function(msg) {
alert(msg);
});
在使用回调时,您必须颠倒您的思维过程。不是先写下一个操作,而是最后写下一个操作。
【讨论】:
这里的例子中回调是一个函数。所以你应该传递函数参数。
您可以通过两种方式做到这一点:
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);
});
【讨论】: