ホームページ  >  記事  >  ウェブフロントエンド  >  JS匿名自己実行関数の概念と使い方

JS匿名自己実行関数の概念と使い方

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-10 15:14:111566ブラウズ

今回は、JS の匿名自己実行関数の概念と使用方法について説明します。JS の匿名自己実行関数の概念と使用法に関する 注意事項 について、実際の事例を見てみましょう。

1. 匿名関数の一般的なシナリオ

js の匿名関数は非常に一般的な関数タイプであり、より一般的なシナリオは次のとおりです:

<input type="button" value="点击" id="btn">
<script type="text/javascript">
  //匿名函数的第一种情形
  var btn=document.querySelector("#btn");
  btn.onclick=function(){
    // alert("aaaaa");
  }
  //匿名函数的第二种情形
  setInterval(function(){
    // alert("bbbbb");
  }, 1000);
  //匿名函数的第三种情形
  var fun=function(){
    alert("ccccc");
  }
  // fun();
  //匿名函数的第四种情形
  var obj={
    name:"dddd",
    say:function(){
      alert(this.name);
    }
  }
  obj.say();
</script>

上記は、匿名関数の一般的な使用シナリオを示しています。 (注: querySelector は H5 で DOM 要素を検索する新しい方法です)

2. 匿名の自己実行関数

名前が示すように、匿名の自己実行関数は最初は匿名関数ですが、この関数は自動的に他の要素の助けを借りずに実行されます。

<input type="button" value="点击" id="btn">
<script type="text/javascript">
//1,匿名函数的第一种实现方式
(function(data){
  // alert(data);
})("eee");
//2.匿名自执行函数的第二种实现方式
(function(){
  // alert("fff");
}());
//3.匿名自执行函数的第三种实现方式
!function(data){
  // alert(data);
}("hhh");
//4.匿名自执行函数的第四种实现方式
var fun=function(data){
  alert(data);
}("iii");

上記のコード ブロックから、匿名の自己実行関数を実装するには通常 4 つの方法があることが要約できます。

3. 匿名自己実行関数の役割

①. 匿名自己実行関数の最も一般的な役割は、クロージャを実装することです。クロージャの概念については、後の記事で詳しく紹介します。ここでクロージャについて簡単に説明します。 クロージャ: クロージャは js の機能であり、クロージャによって関数内と関数外の接続を実現し、関数のローカル変数を常にメモリ上に存在させることができます。

②. 匿名の自己実行関数を使用して、js でブロックレベルのスコープの作成をシミュレートすることもできます。つまり、匿名の自己実行関数を使用してコードをラップすると、ブロックの効果を実現できます。 -level スコープを使用してグローバル変数の数を減らすと、匿名の自己実行関数の実行が完了した後に変数がメモリから解放され、メモリが節約されます。

4. 匿名関数と匿名自己実行関数の概要

匿名関数は、単純に名前のない関数として理解できます。一般的なシナリオは合計 4 つあります。

匿名自己実行関数は、単に自分自身で実行できる匿名関数として理解できます。匿名自己実行関数を実装するには 4 つの方法があります。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

vue がページをレンダリングした後、div スクロール バーが下部に配置されます (コードが添付されています)

クリックされたときに vue を使用して a タグを強調表示します (コードが添付されています)

以上がJS匿名自己実行関数の概念と使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。