ホームページ ウェブフロントエンド jsチュートリアル JS 匿名関数の概念と使い方を共有する

JS 匿名関数の概念と使い方を共有する

Mar 19, 2018 am 09:16 AM
javascript 共有 使用法

この記事では、主に 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匿名関数と匿名クラスの詳細な説明

js匿名関数の使用法とパラメータ渡しの例の詳細な説明

PHP匿名関数の深い理解


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

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Quark NetdiskをBaidu Netdiskに共有するにはどうすればよいですか? Quark NetdiskをBaidu Netdiskに共有するにはどうすればよいですか? Mar 14, 2024 pm 04:40 PM

Quark NetdiskをBaidu Netdiskに共有するにはどうすればよいですか?

NetEase Cloud Music を WeChat Moments に共有する方法_NetEase Cloud Music を WeChat Moments に共有するチュートリアル NetEase Cloud Music を WeChat Moments に共有する方法_NetEase Cloud Music を WeChat Moments に共有するチュートリアル Mar 25, 2024 am 11:41 AM

NetEase Cloud Music を WeChat Moments に共有する方法_NetEase Cloud Music を WeChat Moments に共有するチュートリアル

Baidu Netdisk で友達とファイルを共有する方法 Baidu Netdisk で友達とファイルを共有する方法 Mar 25, 2024 pm 06:52 PM

Baidu Netdisk で友達とファイルを共有する方法

JSPコメントの使用法と分類を分析する JSPコメントの使用法と分類を分析する Feb 01, 2024 am 08:01 AM

JSPコメントの使用法と分類を分析する

C言語でexit関数を正しく使用する方法 C言語でexit関数を正しく使用する方法 Feb 18, 2024 pm 03:40 PM

C言語でexit関数を正しく使用する方法

WPSdatedif関数の使い方 WPSdatedif関数の使い方 Feb 20, 2024 pm 10:27 PM

WPSdatedif関数の使い方

Mango TV メンバーのアカウント共有 2023 Mango TV メンバーのアカウント共有 2023 Feb 07, 2024 pm 02:27 PM

Mango TV メンバーのアカウント共有 2023

HP プリンター ドライバーの 2 つのインストール方法を共有する HP プリンター ドライバーの 2 つのインストール方法を共有する Mar 13, 2024 pm 05:16 PM

HP プリンター ドライバーの 2 つのインストール方法を共有する

See all articles