関数はむつかしいよー。コールバック関数を、やってみた。
function daily_curry_evalution(spicy);
console.log(‘デリーカレーは、おいしい’)
spicy();
};
var price = function(){
console.log(‘850円’)
};
daily_curry_evalution(price);
デリーカレーは、おいしいよ //出力結果
850円 //コールバック関数 出力結果
ただし、コールバック関数は、以下のように無名関数にするのが一般的。
function daily_curry_evalution(spicy);
console.log(‘デリーカレーは、おいしい’)
spicy();
};
daily_curry_evalution(function(){
console.log(‘コルマカレーもおいしい。迷ってしまう’);
});
デリーカレーは、おいしい //出力結果
コルマカレーもおいしい。迷ってしまう //コールバック関数出力結果
ここで、デリーカレーのコールバック関数を書いてみよう。
(ソースコード)
function dailyCurry(){
console.log(‘デリーカレーは、おいしいよ〜’);
price();
};
var dailyCurry =function(){
console.log(‘デリーカレーは、おいしいよ〜’);
price();
};
function price(){
console.log(‘900円’);
};
var price = function (){
console.log(‘900円’);
};
(実行してみる)
dailyCurry(price)
>デリーカレーは、おいしいよ〜
>900円
JavaScriptはシングルスレットなので、すなおに書けば、同期処理だ。
コールバック関数は、そうではなく、非同期処理を施すひとつの方法といえる、
それを実感するために、上記の例を使って、今度は、うしろのコードが先に処理されるのを実感してみたいと思う。
function price(){
console.log(‘900円’);
function dailyCurry(){
console.log(‘デリーカレーは、おいしいよ〜’);
price();
};
dailyCurry(price);
>デリーカレーは、おいしいよ〜
>900円