必要:
楽しい A() { asyn(parm1, parm2, onsuccess(){ }) ;}
楽しい B() {asyn(paem1, parm2, onsuccess(){}) ;}
関数 B は関数 A の後に実行する必要があります
非同期実行
直接使用する場合
A();
B();
実行条件を満たせません。
B をコールバック関数として A に渡し、A が成功すると B 関数を実行することを考えてください。
A(B);
機能要件を実現できます。
jsはシングルスレッドです。
1. 関数呼び出し時、定義数より多いパラメータがある場合、余分なパラメータは無視され、パラメータ数が少ない場合は、不足したパラメータには自動的に未定義の値が代入されます。
2. function ステートメントを使用して関数定義を宣言した場合、ループまたは条件ステートメント内に使用することはできませんが、関数リテラル メソッドを使用して関数定義を宣言した場合は、任意の js 式に使用できます。
3. 引数オブジェクト
関数の引数オブジェクトは配列のようなもので、関数の呼び出し時に実際のパラメータを格納します。これらのパラメータを参照するには、arguments[0]、arguments[1]、arguments[2]... を使用できます。パラメータは関数を定義するときのものです。ただし、引数は実際の配列オブジェクトではありません。
関数 a(x,y){
argument[0] //最初のパラメータ x を示します
argument[1] //最初のパラメータ y を示します
argument[2] //関数呼び出し時に 3 つのパラメーターが渡される場合、3 番目のパラメーターを示します。
…
argument.length //渡されるパラメータの実際の数を示します
argument.callee(x,y) // 自分自身を呼び出します}
argument オブジェクトには length 属性があり、関数の呼び出し時に実際に渡されるパラメーターの数を表します。
引数オブジェクトには callee 属性もあり、現在実行中の関数を参照するために使用されます。これは特に匿名関数で役立ちます。
4. 関数の長さ属性 (はい、関数には長さ属性もあります)
argument.length とは異なり、関数の長さ属性は、関数が呼び出されたときの実際のパラメーターの数ではなく、関数が定義されたときの仮パラメーターの数を表します。 argument.callee.length を使用して、関数の length プロパティを呼び出すことができます。