私がこの関数を書いたとしましょう...
var sayHi = function() {
return "hi";
}
alert(sayHi());
「こんにちは」を返します。
さて、こう書くと・・・
var sayHi = function(callback) {
callback("hi");
}
この関数で「こんにちは」を表示するにはどうすればよいですか?
ここの例に基づく: http://nowjs.com/doc
私がこの関数を書いたとしましょう...
var sayHi = function() {
return "hi";
}
alert(sayHi());
「こんにちは」を返します。
さて、こう書くと・・・
var sayHi = function(callback) {
callback("hi");
}
この関数で「こんにちは」を表示するにはどうすればよいですか?
ここの例に基づく: http://nowjs.com/doc
あなたはsayHiに関数を渡すので、私はこれを想像します:
sayHi(alert);
コールバック関数を定義するか、匿名関数を渡す必要があります。
var sayHi = function(callback) {
callback("hi");
}
sayHi(function(message){
alert(message);
});
sayHi(function(value) {
alert(value);
});
これを試して:
sayHi(function(msg){
alert(msg)
});
新しいsayHi
関数は値を返さないため、コールバック関数でアラートを実行する必要があります。
sayHi(function(msg) {
alert(msg);
});
コールバックを使用するときは、思考プロセスを逆にする必要があります。次の操作を最初に記述する代わりに、次の操作を最後に記述します。
この例では、コールバックは関数です。したがって、関数の引数を渡す必要があります。
これは 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);
});