ホームページ ウェブフロントエンド jsチュートリアル JavaScript 匿名関数インスタンスの分析_JavaScript スキル

JavaScript 匿名関数インスタンスの分析_JavaScript スキル

May 16, 2016 pm 04:30 PM
javascript 無名関数

この記事の例では、JavaScript 匿名関数の使用について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

概要:

この記事では、JavaScript の最も基本的で重要な関数について説明します。この記事を書いたのは、インタビュー中に質問されたためであり、復習の意味もあります。

まず例を挙げてみましょう。理解できたということは、この記事の内容をすでに理解しているということです。

コードをコピー コードは次のとおりです。
var f = (function() {

関数 f() {return 10;}

return f();

関数 f() {return 20;}

var f = 30;

})();

console.log(f);

関数は次のように高度な JavaScript プログラミングで記述されます。関数は任意の数のステートメントをカプセル化でき、いつでもどこでも呼び出して実行できます。以前に厳密モードを紹介しましたが、厳密モードにはいくつかの機能制限があります:

① 関数に eval または argument という名前を付けることはできません
② パラメータに eval や argument
という名前を付けることはできません ③ 同じ名前の名前付きパラメータが 2 つ存在することはできません

上記の状況が発生した場合、構文エラーが発生し、コードは実行できません。

関数定義

関数定義は 3 種類に分かれます

1. コンストラクター

コードをコピー コードは次のとおりです:
var fun = new Funciton();

2. 共通の定義

コードをコピー コードは次のとおりです。
function fun() {}

3. 機能の定義

コードをコピー コードは次のとおりです:
var fun = function() {};

関数 fun は次の 3 つの方法で定義できます。

パラメータ

関数は、渡されるパラメータの数や、パラメータがどのようなデータ型で渡されるかを気にしません。定義した関数が 2 つのパラメーターしか受け取らない場合でも、この関数を呼び出すときに必ずしも 2 つのパラメーターを渡す必要はありません。 1 つ、3 つのパラメータを渡すことも、まったくパラメータを渡すこともできません。その理由は、パラメータが内部的に配列で表されるためです。関数本体では、
などの引数オブ​​ジェクトを介してパラメーター配列にアクセスできます。

コードをコピー コードは次のとおりです。
function SayHi() {

alert("Hello " 引数[0] "," 引数[1]);

}

引数オブジェクトの length プロパティにアクセスして、パラメータの数を確認します。関数の長さは、関数のパラメーターの数を返します。

注: すべてのパラメータは値によって渡され、パラメータを参照によって渡すことはできません。

関数はオーバーロードできず、書き換えのみ可能です

同じ名前の 2 つの関数が定義されている場合、その名前は最後に定義された関数にのみ属します。例:

コードをコピーします コードは次のとおりです:

関数 add(num) {

数値 100 を返します;

}

関数 add(num) {

数値 200 を返します;

}

var result = add(100) //300

注: この関数は return ステートメントの実行直後に停止して終了します。

関数の種類

関数は、名前付き関数と匿名関数の 2 つのタイプに分類されます。たとえば、次のような有名な関数

コードをコピー コードは次のとおりです。
function fun() {

}

呼び出された場合は、fun() のみが必要です。

匿名関数には、名前が示すように、関数名がありません。たとえば

関数() {}

関数呼び出しは関数名を通じて呼び出されます。匿名関数を呼び出すにはどうすればよいですか? 1 つは、匿名関数を変数に代入し、その変数を関数名として使用する方法です。もう1つは、()を使って以下の3つのメソッドを呼び出す方法です

1. (関数() {return;}());

2. (関数() {return;})();

3. function() {return;}();

例:

コードをコピーします コードは次のとおりです:

(関数(x, y) {

アラート(x y);

})(2,3);

//alert(5)


2 と 3 はパラメータとして x と y に渡されます

一番上の例について話しましょう。この例にはクロージャが含まれています。これについては後で説明します。

最初に変数 f を定義し、それを匿名関数に割り当てます。ここで、関数内のすべての変数の定義が先頭に追加されるため、匿名関数内の実行順序は
であることに注意してください。

コードをコピー コードは次のとおりです:

var f = (function() {

var f = 30;

関数 f() {return 10;}

関数 f() {return 20;}

return f();

})();


外側の変数 f と内側の変数 f は同じスコープ (クロージャ) にないため、相互に影響を与えません。この関数は外部変数 f=(function f() {return 20;})(); をオーバーロードできないため、最終出力は 20 になります。

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

C++ 匿名関数の使用法と特徴 C++ 匿名関数の使用法と特徴 Apr 19, 2024 am 09:03 AM

ラムダ式とも呼ばれる匿名関数は、名前を指定せず、1 回限りの使用または関数ポインターを渡すために使用される関数です。機能には、匿名性、ワンタイム使用、クロージャ、戻り値の型推論が含まれます。実際には、ソートやその他の 1 回限りの関数呼び出しによく使用されます。

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

Golang の匿名関数は複数の値を返すことができますか? Golang の匿名関数は複数の値を返すことができますか? Apr 13, 2024 pm 04:09 PM

はい、Go 言語の匿名関数は複数の値を返すことができます。構文: func(arg1,arg2,...,argN)(ret1,ret2,...,retM){//関数本体}。使用法: 戻り値を受け取るには := 演算子を使用し、複数の値を返すには return キーワードを使用します。

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

Python ラムダ式: プログラミングを簡単にする Python ラムダ式: プログラミングを簡単にする Feb 19, 2024 pm 09:54 PM

Python のラムダ式は、式を変数に格納し、その値を返す小さな匿名関数です。ラムダ式は、別の関数を作成することで実行できる単純なタスクを実行するためによく使用されますが、ラムダ式を使用すると、コードがより簡潔で読みやすくなります。 Lambda 式の構文は次のとおりです。 lambdaarguments:expressionarguments は Lambda 式によって受け取られるパラメータ リストで、expression は実行する必要があるコードを含む Lambda 式の本体です。たとえば、次のラムダ式は 2 つの数値を加算し、その合計を返します: lambdax,

Python ラムダ式: 省略、簡潔、強力 Python ラムダ式: 省略、簡潔、強力 Feb 19, 2024 pm 08:10 PM

pythonLambda 式は、簡潔で読みやすく、使いやすいコードを作成するための強力で柔軟なツールです。これらは、他の関数に引数として渡したり、変数に保存したりできる匿名関数をすばやく作成するのに最適です。 Lambda 式の基本構文は次のとおりです。 lambdaarguments:expression たとえば、次の Lambda 式は 2 つの数値を加算します: lambdax,y:x+y この Lambda 式は、次のように引数として別の関数に渡すことができます。 defsum( x ,y):returnx+yresult=sum(lambdax,y:x+y,1,2) この例では

JavaScript と WebSocket: 効率的なリアルタイム検索エンジンの構築 JavaScript と WebSocket: 効率的なリアルタイム検索エンジンの構築 Dec 17, 2023 pm 10:13 PM

JavaScript と WebSocket: 効率的なリアルタイム検索エンジンの構築 はじめに: インターネットの発展に伴い、ユーザーのリアルタイム検索エンジンに対する要求はますます高くなっています。従来の検索エンジンで検索を行う場合、ユーザーは検索ボタンをクリックする必要があり、リアルタイムの検索結果を求めるユーザーのニーズに応えることができませんでした。そのため、JavaScript と WebSocket テクノロジを使用してリアルタイム検索エンジンを実装することが注目されています。この記事ではJavaScriptの使い方を詳しく紹介します。

Python ラムダ式: 匿名関数の威力を明らかにする Python ラムダ式: 匿名関数の威力を明らかにする Feb 24, 2024 am 09:01 AM

Python のラムダ式は、匿名関数の別の構文形式です。これは、プログラム内のどこにでも定義できる小さな匿名関数です。ラムダ式はパラメータ リストと式で構成されます。式には有効な Python 式を使用できます。ラムダ式の構文は次のとおりです: lambdaargument_list:expression. たとえば、次のラムダ式は 2 つの数値の合計を返します: lambdax,y:x+y. このラムダ式は、マップなどの他の関数に渡すことができます。 () 関数:数値=[ 1,2,3,4,5]結果=マップ(ラムダ

See all articles