コールバック関数の定義が良く分かりません。
専門書で調べた結果、以下のように解釈しています。
【コールバック関数】
1.引数として渡される関数。
2.プロパティ値としての関数。
今回質問させてもらう問題は以下のものです。
「HTML5プロフェッショナル認定試験レベル2
スピードマスター問題集 P68-69」より。
(A.オブジェクトのメソッド)
var cat = { name : 'ラム', greet : function() { return this.name + "です。"; } }; console.log(cat.greet());
(専門書による解説)
オブジェクトのメソッド内でthisを呼び出すと、thisはそのメソッドを持つオブジェクトを参照します。
thisはcatオブジェクトを示す。
(B.コールバック関数)
var cat = { name : 'ラム', greet : function() { console.log(this.name + "です。"); } }; cat.greet(); setTimeout(cat.greet, 500);
(専門書による解説)
コールバック関数として指定した関数内でthisを使用すると、thisはコールバック関数を
呼び出す関数を示します。
thisはWindowオブジェクトを示す。
Bのgreet()メソッドがコールバック関数なら、Aのgreet()メソッドもコールバック関数だと思うのですが、
どうして違うのでしょうか?
setTimeout()でgreetプロパティを引数として指定しているから、
Bのgreet()メソッドはコールバック関数になり得るということでしょうか?
よろしくお願い致します。
【追加の質問】
function func() { return 'Hello'; } console.log(func());
最後の行でlog()の引数に関数を渡す記述もコールバック関数となるのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/07 06:12
2020/08/08 03:37