[英]return vs. callback in a Javascript function
Say I write this function...说我写这个 function...
var sayHi = function() {
return "hi";
}
alert(sayHi());
will return "hi".将返回“嗨”。
Now if I write it this way...现在如果我这样写...
var sayHi = function(callback) {
callback("hi");
}
How do I display "hi" with this function?如何使用此 function 显示“hi”?
Based on an example here: http://nowjs.com/doc基于此处的示例: http://nowjs.com/doc
You pass a function to sayHi, so I imagine this:你通过一个 function 来sayHi,所以我想象一下:
sayHi(alert);
you must have defined some callback function or pass a anonymous function:您必须定义了一些回调 function 或传递匿名 function:
var sayHi = function(callback) {
callback("hi");
}
sayHi(function(message){
alert(message);
});
sayHi(function(value) {
alert(value);
});
Try this:尝试这个:
sayHi(function(msg){
alert(msg)
});
Your new sayHi
function doesn't return a value, so you have to perform the alert in the callback function.您的新
sayHi
function 不返回值,因此您必须在回调 function 中执行警报。
sayHi(function(msg) {
alert(msg);
});
You have to invert your thinking process when using callbacks.使用回调时,您必须颠倒您的思维过程。 Instead of writing the next operation first, you write the next operation last.
不是先写下一个操作,而是最后写下一个操作。
Here in example callback is a function.这里的示例回调是 function。 So you should pass function argument.
所以你应该通过 function 参数。
You may do this in 2 ways:您可以通过 2 种方式执行此操作:
var some_fun = function(some_str) {
alert(some_str);
}
var sayHi = function(callback) {
callback("hi");
}
sayHi(some_fun)
or you can pass function when you call it:或者你可以在调用它时传递 function :
var sayHi = function(callback) {
callback("hi");
}
sayHi(function(some_str){
alert(some_str);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.