JavaScriptの関数の引数
- 前のページ JS ファンクション定義
- 次のページ JS ファンクション呼び出し
JavaScript 関数パラメータの値には何もチェックしません。
関数のパラメータ
このチュートリアルの少し前に、関数がどのようなものか学びました:パラメータ:
functionName(parameter1, parameter2, parameter3) { 実行するコード }
関数のパラメータ(parameter)これは関数の定義にリストされている名前。
関数のパラメータ(argument)これは関数に渡されるまたは関数が受け取る実際の値。
パラメータのルール
JavaScript ファンクションの定義はパラメータ(parameter)にデータ型を指定しません。
JavaScript ファンクションは渡されたパラメータ(argument)のタイプをチェックしません。
JavaScript ファンクションは受け取ったパラメータ(argument)の数をチェックしません。
パラメータのデフォルト
パラメータを呼び出すときにパラメータを省略しました(宣言より少ない場合)、欠けている値は以下のように設定されます:undefined。
時には受け入れられるかもしれませんが、時にはパラメータにデフォルト値を指定する方が良いでしょう:
インスタンス
function myFunction(x, y) { if (y === undefined) { y = 0; } }
もし関数呼び出しのパラメータが多すぎます(宣言より多くの場合)、以下を使用することができます arguments オブジェクトこれらのパラメータを取得するために使用されます。
arguments オブジェクト
JavaScript ファンクションには、arguments オブジェクトという組み込みオブジェクトがあります。
arguments オブジェクトは関数呼び出し時に使用されるパラメータの配列を含んでいます。
このように、関数を使って(例えば)数字リストの最大値を簡単に見つけることができます:
インスタンス
x = findMax(1, 123, 500, 115, 44, 88); function findMax() { var i; var max = -Infinity; for (i = 0; i < arguments.length; i++) { if (arguments[i] > max) { max = arguments[i]; } } return max; }
または、すべての入力値を合計する関数を作成します:
インスタンス
x = sumAll(1, 123, 500, 115, 44, 88); function sumAll() { var i, sum = 0; for (i = 0; i < arguments.length; i++) { sum += arguments[i]; } return sum; }
パラメータは値で渡されます
関数呼び出しのパラメータ(parameter)は関数のパラメータ(argument)です。
JavaScript パラメータは以下のように渡されます:値以下のように渡します:関数は値のみを知り、パラメータの位置は知りません。
関数がパラメータの値を変更すると、パラメータの元の値は変更されません。
パラメータの変更は関数の外では見えません。
オブジェクトは参照を通じて渡されます。
JavaScript では、オブジェクト参照は値です。
そのため、オブジェクトの動作は、以下のように見えます。参照以下のように渡します:
関数がオブジェクトの属性を変更すると、元の値も変更されます。
オブジェクトの属性の変更は関数の外でも見えます。
- 前のページ JS ファンクション定義
- 次のページ JS ファンクション呼び出し