JavaScript関數(shù)のパラメータ
JavaScript 関數(shù)はパラメーターの値のチェックを?qū)g行しません。
関數(shù)の明示的なパラメーター (パラメーター) と暗黙的なパラメーター (引數(shù))
前のチュートリアルでは、関數(shù)の明示的なパラメーターについて學(xué)習(xí)しました。
// 実行されるコード...}暗黙的な関數(shù)パラメーターは、関數(shù)が呼び出されたときに関數(shù)に渡される実際の値です。
関數(shù)の定義時(shí)に明示的な関數(shù)パラメーターがリストされます。
パラメータのルール
JavaScript関數(shù)定義は、パラメータがデータ型を指定していないことを示しています。
デフォルトパラメータ
暗黙的なパラメータを指定せずに関數(shù)が呼び出された場(chǎng)合、パラメータはデフォルトで未定義に設(shè)定されます
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>設(shè)置參數(shù)的默認(rèn)值。</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>プログラムを?qū)g行して試してください
または、より簡(jiǎn)単な方法:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>設(shè)置函數(shù)參數(shù)默認(rèn)值。</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>
プログラムを?qū)g行して試してください
ヒント: y が定義されている場(chǎng)合、y | | は y が true であるため y を返します。それ以外の場(chǎng)合は、未定義が false であるため 0 を返します。
関數(shù)呼び出し時(shí)に設(shè)定したパラメータが多すぎると、対応するパラメータ名が見つからないため、パラメータは參照されません。 引數(shù)オブジェクトを使用してのみ呼び出すことができます。
Arguments オブジェクト
JavaScript 関數(shù)には、組み込みのオブジェクト引數(shù)オブジェクトがあります。 argument オブジェクトには、関數(shù)呼び出しのパラメータ配列が含まれます。
この方法で、最後のパラメータの値を簡(jiǎn)単に見つけることができます:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>查找最大的數(shù)。</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>
プログラムを?qū)g行して試してください
または、すべての値の合計(jì)をカウントする関數(shù)を作成してください:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>計(jì)算所有參數(shù)之和:</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>
プログラムを?qū)g行して試してください
パラメータを値で渡す
関數(shù)內(nèi)で呼び出されるパラメータは、関數(shù)の暗黙的なパラメータです。 JavaScript の暗黙的なパラメーターは値によって渡されます。関數(shù)は値を取得するだけです。
関數(shù)がパラメーターの値を変更する場(chǎng)合、明示的なパラメーター (関數(shù)の外部で定義される) の初期値は変更されません。
暗黙的なパラメーターの変更は関數(shù)の外部には表示されません。
オブジェクトを介してパラメーターを渡す
JavaScript では、オブジェクトの値を參照できます。
そのため、関數(shù)內(nèi)でオブジェクトのプロパティを変更すると、その初期値も変更されます。
オブジェクトのプロパティの変更は、関數(shù) (グローバル変數(shù)) の外部で動(dòng)作する可能性があります。
オブジェクトのプロパティの変更は関數(shù)の外部で確認(rèn)できます。