序文
実際、コールバック関数の単純な点は、2つの関数aとbがある場合、aがパラメーターとしてbに渡され、bで実行される場合、aはコールバック関数であることです。 Aが匿名関数の場合、それは匿名のコールバック関数です。例を使用して、JavaScriptコールバック関数の使用方法を詳細に説明しましょう。
例
ずっと前に、男がいました。
var人;
彼は個人、つまりオブジェクトです。
person = {}; // javascriptでは、カーリーブレースはオブジェクトを表します彼はXiao Mingという名前を持っています。
person.name = 'xiao ming';
それが本当にXiao Mingと呼ばれているかどうか見てみましょう。
アラート(person.name);
まあ、ある日、Xiao Mingは10元を拾いました。
person.money = '10 yuan ';
彼はお金を使わなければならなかったので、彼は10元を使うことを計画していました。
Xiao MingにはspendMoney ()方法があります
person.spendmoney = function(){alert(this.name +"used" +this.money +"私はrmb!"の漫画本を購入しました! "); }走る:
person.spendmoney();
ポップアップリマインダー:Xiao Mingは10元の漫画本を購入しました。
さて、問題は、Xiao Mingがお金を使うなら漫画本を買わなければならないのですか?ノーでなければなりません。
事実は、彼がお金をどうするかについて最終決定権を持っているということです。お金はXiao Mingのポケットにあるからです。
したがって、コールバック関数を使用できます。
コールバック関数自体はデータ型です。
JavaScriptでは、関数のステータスは、JavaのString 、 int 、 booleanなどと同じであり、データ型と見なすことができます。
データ型であるため、もちろんパラメーターとして渡すことができます。
だからそれは次のようになるはずです:
person.spendmoney = function(dosomething){dosomething(); }ブラケットを置くということは、関数を実行することを意味します。
ブラケットのない関数は、 Stringやintと同じものです。
データ型です。
同じ。
これがJavaの言うことです:
string str = "helloworld!";
JavaScriptでは、機能は同じです。
var says = function(){alert( 'helloworld');}この時点で、 sayデータ型です。
ブラケットがないため、彼はブラケットの後にのみ実行します!
Xiao MingがTen Yuanで行うこと、彼は最終決定権を持っています。
person.spendmoney(function(){});これは、関数をに渡すことです。
関数をspendMoneyメソッドに渡す目的は、関数をその中で実行することです。
それで:
person.spendmoney = function(dosomething){dosomething(); }内部には括弧があります。つまり、関数が実行されることを意味します。
何をすべきか、自分で決めてください。
person.spendMoney(function(){alert( 'お金を節約しましょう!');});要約します
これは、パラメーターとして関数をメソッドに渡すことができ、メソッドでこの関数を実行できることを意味します。これは、JSに固有のコールバック関数の魔法です。
上記は、JavaScriptコールバック関数の使用に関するすべてです。みんなの勉強や仕事に役立つことを願っています。ご質問がある場合は、メッセージを残して話し合ってください。