ホームページ ウェブフロントエンド フロントエンドQ&A JavaScriptには関数のオーバーロードがありますか?

JavaScriptには関数のオーバーロードがありますか?

Feb 23, 2022 pm 02:58 PM
javascript 関数のオーバーロード

JavaScript には関数のオーバーロードがありません。同じ名前で異なるパラメータを持つ関数はオーバーロードと呼ばれます。同じ名前の関数が存在する場合、後の関数が前の関数を上書きするため、関数のオーバーロードは JavaScript では実装できません。

JavaScriptには関数のオーバーロードがありますか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript には関数のオーバーロードがありません

最初にオーバーロードの定義について説明します。同じ名前で異なるパラメーターを持つ関数はオーバーロードと呼ばれます。

つまり、プログラム中に同名の関数が存在し、パラメータの判定により同じ関数の異なる呼び出しを実現することができます。

また、JavaScript では関数のオーバーロードを実装できません。同じ名前の関数の場合、後の関数が前の関数を上書きするためです。

JS で定義された関数は関数名で識別され、定義されたパラメーターの順序に従って渡されたパラメーターと照合され、超過したものは破棄され、不足したものは未定義として扱われます。

しかし、js にはメソッド オーバーロードというオーバーロードを実装するための独自のメソッドもあり、パラメータの数を判断して関数内でメソッド オーバーロードを実装します。

たとえば、関数はパラメーターを 1 つ受け取った場合は現在のパラメーターを返し、パラメーターが 2 つあった場合は 2 つのパラメーターの合計を返し、パラメーターが 3 つあった場合は 3 つの関数の合計を返します。などなど...

function add(){
	if(arguments.length === 1){
		return arguments[0]
	} else {
		var _index = arguments.length;
		var allnum = 0;
		for (var i = 0;i<_index;i++){
			allnum = allnum + arguments[i];
		}
		return allnum
 	}
	return arguments.length
}
add(1,1,2,3,3,3,4);
ログイン後にコピー

JavaScriptには関数のオーバーロードがありますか?

[関連する推奨事項: JavaScript 学習チュートリアル]

以上がJavaScriptには関数のオーバーロードがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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 pm 04:21 PM

関数のオーバーロードでは、同じ名前で異なるシグネチャを持つ関数をクラス内で使用できますが、関数のオーバーライドは、基本クラス内の同じシグネチャを持つ関数をオーバーライドするときに派生クラスで発生し、異なる動作を提供します。

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

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

PHP 関数のオーバーロードと書き換え PHP 関数のオーバーロードと書き換え Apr 26, 2024 pm 05:12 PM

PHP では関数のオーバーロードと書き換えがサポートされており、柔軟で再利用可能なコードを作成できます。関数のオーバーロード: 同じ名前でパラメーターが異なる関数を作成し、パラメーターの一致に基づいて最も適切な関数を呼び出すことができます。関数の書き換え: サブクラスが同じ名前の関数を定義し、親クラスのメソッドをオーバーライドできるようにします。サブクラスのメソッドが呼び出されると、親クラスのメソッドがオーバーライドされます。

golangで関数のオーバーロードを実装するにはどうすればよいですか? golangで関数のオーバーロードを実装するにはどうすればよいですか? Apr 29, 2024 pm 05:21 PM

Go 言語は従来の関数のオーバーロードをサポートしていませんが、次の方法で同様の効果を実現できます。 名前付き関数の使用: 異なるパラメーターまたは戻り値の型を持つ関数に一意の名前を作成する (Go1.18 以降) ジェネリックを使用して一意の名前を作成する。さまざまなタイプのパラメータ用の関数の単一バージョン。

C++ 関数のオーバーロードのベスト プラクティス C++ 関数のオーバーロードのベスト プラクティス Apr 20, 2024 am 10:48 AM

C++ 関数のオーバーロードのベスト プラクティス: 1. 明確で意味のある名前を使用します。 2. 過剰なオーバーロードを避けます。 4. パラメーターの順序を統一します。 5. SFINAE を使用します。

なぜ golang には関数のオーバーロードがないのですか? なぜ golang には関数のオーバーロードがないのですか? Apr 30, 2024 am 10:54 AM

以下の理由により、Go 言語では関数のオーバーロードは許可されていません。 コンパイラーの実装を簡素化する コードの可読性を向上させ、名前の競合を回避する Go では、変数パラメーター リストまたはインターフェイスを使用して、関数のオーバーロードと同様の動作を実現できます。

C++ 関数のオーバーロードはコンストラクターとデストラクターに適用されますか? C++ 関数のオーバーロードはコンストラクターとデストラクターに適用されますか? Apr 14, 2024 am 09:03 AM

C++ コンストラクターはオーバーロードをサポートしますが、デストラクターはオーバーロードをサポートしません。コンストラクターはさまざまなパラメーター リストを持つことができますが、デストラクターは空のパラメーター リストのみを持つことができます。これは、入力パラメーターなしでクラス インスタンスを破棄するときに自動的に呼び出されるからです。

実際のプロジェクトにおける C++ 関数のオーバーロードの適用シナリオは何ですか? 実際のプロジェクトにおける C++ 関数のオーバーロードの適用シナリオは何ですか? Apr 26, 2024 pm 01:57 PM

関数のオーバーロードを使用すると、同じ名前の関数を C++ で異なる方法で定義したり、異なる型の引数を処理したり、異なる操作を実行したりすることができます。特定のアプリケーション シナリオには以下が含まれます。 さまざまなデータ型を処理してさまざまな関数を提供し、コードの可読性を向上させる

See all articles