Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptクロージャと無名関数


無名関数

匿名は、その名前が示すように、名前識別子なしで関数を作成できます。他の関数の引数として使用できます。それらは変数名を使用して呼び出されます:

JavaScript無名関数の使用方法は次のとおりです:

var func = function() {
   alert(‘This is anonymous');
}
func();

別の例は次のとおりです。

setTimeout(function() {
   alert('Demo');
}, 3000);

JavaScriptクロージャ

JavaScriptでは、すべての関数がクロージャのように機能します。クロージャは、呼び出されたときに宣言されたスコープを使用する関数です。呼び出されたスコープではありません。

次に例を示します:

<!DOCTYPE html>
<html>
   <body>
      <h2>JavaScript Closures</h2>
      <script>
         var p = 20;
         function a() {
            var p = 40;
            b(function() {
               alert(p);
            });
         }
         function b(f) {
            var p = 60;
            f();
         }
         a();
      </script>
   </body>
</html>

  1. JavaScriptの匿名ラッパー関数

    匿名関数は、コードスニペット、JavaScriptライブラリ、関数などをラップして、他のライブラリコードと競合しないように、それらの可視性と名前空間を制御するために使用されます。 IIFE(即時呼び出し関数式)は、この目的で使用されます。 以下は、JavaScriptで匿名ラッパー関数を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport&q

  2. JavaScriptのファーストクラス関数

    JavaScriptは関数をオブジェクトとして扱い、関数をパラメーターとして別の関数に渡したり、他の関数から関数を返したりすることもできます。 JavaScriptでは、関数はファーストクラスの関数です。つまり、変数、オブジェクト、配列に格納できます。高階関数は、関数を取得するか、関数を返すか、またはその両方を実行できます。 以下は、JavaScriptでファーストクラス関数を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT