ホームページ > 記事 > ウェブフロントエンド > 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には関数のオーバーロードがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。