この記事の例では、JavaScript 匿名関数の使用について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。
概要:
この記事では、JavaScript の最も基本的で重要な関数について説明します。この記事を書いたのは、インタビュー中に質問されたためであり、復習の意味もあります。
まず例を挙げてみましょう。理解できたということは、この記事の内容をすでに理解しているということです。
関数 f() {return 10;}
return f();
関数 f() {return 20;}
var f = 30;
})();
console.log(f);
関数は次のように高度な JavaScript プログラミングで記述されます。関数は任意の数のステートメントをカプセル化でき、いつでもどこでも呼び出して実行できます。以前に厳密モードを紹介しましたが、厳密モードにはいくつかの機能制限があります:
① 関数に eval または argument という名前を付けることはできません
② パラメータに eval や argument
という名前を付けることはできません
③ 同じ名前の名前付きパラメータが 2 つ存在することはできません
上記の状況が発生した場合、構文エラーが発生し、コードは実行できません。
関数定義
関数定義は 3 種類に分かれます
1. コンストラクター
2. 共通の定義
3. 機能の定義
関数 fun は次の 3 つの方法で定義できます。
パラメータ
関数は、渡されるパラメータの数や、パラメータがどのようなデータ型で渡されるかを気にしません。定義した関数が 2 つのパラメーターしか受け取らない場合でも、この関数を呼び出すときに必ずしも 2 つのパラメーターを渡す必要はありません。 1 つ、3 つのパラメータを渡すことも、まったくパラメータを渡すこともできません。その理由は、パラメータが内部的に配列で表されるためです。関数本体では、
などの引数オブジェクトを介してパラメーター配列にアクセスできます。
alert("Hello " 引数[0] "," 引数[1]);
}
引数オブジェクトの length プロパティにアクセスして、パラメータの数を確認します。関数の長さは、関数のパラメーターの数を返します。
注: すべてのパラメータは値によって渡され、パラメータを参照によって渡すことはできません。
関数はオーバーロードできず、書き換えのみ可能です
同じ名前の 2 つの関数が定義されている場合、その名前は最後に定義された関数にのみ属します。例:
数値 100 を返します;
}
関数 add(num) {
数値 200 を返します;
}
var result = add(100) //300
注: この関数は return ステートメントの実行直後に停止して終了します。
関数の種類
関数は、名前付き関数と匿名関数の 2 つのタイプに分類されます。たとえば、次のような有名な関数
}
呼び出された場合は、fun() のみが必要です。
匿名関数には、名前が示すように、関数名がありません。たとえば
関数() {}
関数呼び出しは関数名を通じて呼び出されます。匿名関数を呼び出すにはどうすればよいですか? 1 つは、匿名関数を変数に代入し、その変数を関数名として使用する方法です。もう1つは、()を使って以下の3つのメソッドを呼び出す方法です
1. (関数() {return;}());
2. (関数() {return;})();
3. function() {return;}();
例:
アラート(x y);
})(2,3);
//alert(5)
一番上の例について話しましょう。この例にはクロージャが含まれています。これについては後で説明します。
最初に変数 f を定義し、それを匿名関数に割り当てます。ここで、関数内のすべての変数の定義が先頭に追加されるため、匿名関数内の実行順序は
であることに注意してください。
var f = 30;
関数 f() {return 10;}
関数 f() {return 20;}
return f();
})();
この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。