JavaScript 関数はパラメーターの値のチェックを実行しません。
関数の明示的なパラメーター (パラメーター) と暗黙的なパラメーター (引数)
前のチュートリアルでは、関数の明示的なパラメーターについて学習しました。
// 実行されるコード...}暗黙的な関数パラメーターは、関数が呼び出されたときに関数に渡される実際の値です。
関数の定義時に明示的な関数パラメーターがリストされます。
JavaScript関数定義は、パラメータがデータ型を指定していないことを示しています。
暗黙的なパラメータを指定せずに関数が呼び出された場合、パラメータはデフォルトで未定義に設定されます
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p>设置参数的默认值。</p> <p id="demo"></p> <script> function myFunction(x, y) { if (y === undefined) { y = 0; } return x * y; } document.getElementById("demo").innerHTML = myFunction(4); </script> </body> </html>プログラムを実行して試してください
または、より簡単な方法:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p>设置函数参数默认值。</p> <p id="demo"></p> <script> function myFunction(x, y) { y = y || 0; return x * y; } document.getElementById("demo").innerHTML = myFunction(4); </script> </body> </html>
ヒント: y が定義されている場合、y | | は y が true であるため y を返します。それ以外の場合は、未定義が false であるため 0 を返します。
関数呼び出し時に設定したパラメータが多すぎると、対応するパラメータ名が見つからないため、パラメータは参照されません。 引数オブジェクトを使用してのみ呼び出すことができます。
JavaScript 関数には、組み込みのオブジェクト引数オブジェクトがあります。 argument オブジェクトには、関数呼び出しのパラメータ配列が含まれます。
この方法で、最後のパラメータの値を簡単に見つけることができます:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p>查找最大的数。</p> <p id="demo"></p> <script> function findMax() { var i, max = 0; for(i = 0; i < arguments.length; i++) { if (arguments[i] > max) { max = arguments[i]; } } return max; } document.getElementById("demo").innerHTML = findMax(4, 5, 6); </script> </body> </html>
プログラムを実行して試してください
または、すべての値の合計をカウントする関数を作成してください:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p>计算所有参数之和:</p> <p id="demo"></p> <script> function sumAll() { var i, sum = 0; for(i = 0; i < arguments.length; i++) { sum += arguments[i]; } return sum; } document.getElementById("demo").innerHTML = sumAll(1, 123, 500, 115, 44, 88); </script> </body> </html>
プログラムを実行して試してください
パラメータを値で渡す
関数内で呼び出されるパラメータは、関数の暗黙的なパラメータです。 JavaScript の暗黙的なパラメーターは値によって渡されます。関数は値を取得するだけです。
関数がパラメーターの値を変更する場合、明示的なパラメーター (関数の外部で定義される) の初期値は変更されません。
暗黙的なパラメーターの変更は関数の外部には表示されません。
オブジェクトを介してパラメーターを渡す
JavaScript では、オブジェクトの値を参照できます。
そのため、関数内でオブジェクトのプロパティを変更すると、その初期値も変更されます。
オブジェクトのプロパティの変更は、関数 (グローバル変数) の外部で動作する可能性があります。
オブジェクトのプロパティの変更は関数の外部で確認できます。