function hello(callback) {
console.log("before=========");
callback();
console.log("after=========");
}

function test() {
console.log("test!!");
}

hello(test);

●「before」=>「test!!」=>「after」の順で実行される。

●メリット
呼び出しもとで分岐先を決めることが出来る。

function func0() {
let num = Math.random(1, 10);
if (num < 5) {
func1(func2);
} else {
func1(func3);
}
}

function func1(callback) {
alert("計算終了です");
callback();
}

function func2() {
alert("5より大きい値です");
}

function func3() {
alert("4より小さい値です");
}

func0();

func0で計算される=>func1 計算終了です。=>numの値により、
「func2」「 func3」どちらかの処理を実行する。

●コールバック関数に引数を渡す

function func1(callback, num) {
console.log("callback実行前");
callback(num);
console.log("処理完了!");
}


function func2(num) {
console.log(num);
}

func1(func2, "引数の渡し方");

●実行順
  callback実行前 => 「引数の渡し方」=> 処理完了

 func1の引数は「func2, 引数の渡し方」
カテゴリー: Javascript/jQuery

choco

マンガ、ゲーム、昼寝、料理、DIY、動物大好きな 平成生まれのアラサーです。 販売、サービス業しか経験ありませんが、 SE目指して勉強してます。 年齢はギリアウトだし、未経験ですが、 やるだけやって、チャレンジー

コメントを残す