JavaScript関数のパラメータ



JavaScript 関数はパラメーターの値のチェックを実行しません。


関数の明示的なパラメーター (パラメーター) と暗黙的なパラメーター (引数)

前のチュートリアルでは、関数の明示的なパラメーターについて学習しました:

functionName(parameter1, parameter2, parameter3) {
//実行されるコード...
}

関数の明示的なパラメータは、関数の定義時にリストされます。

暗黙的な関数パラメーターは、関数が呼び出されたときに関数に渡される実際の値です。


パラメータのルール

JavaScript関数定義は、パラメータがデータ型を指定していないことを示しています。

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>

Rインスタンス»

[インスタンスの実行] ボタンをクリックして、オンラインの例を表示します

Note y が定義されている場合、y が true であるため y || は y を返し、それ以外の場合は、未定義が false であるため 0 を返します。

関数呼び出し時に設定したパラメータが多すぎると、対応するパラメータ名が見つからないため、パラメータは参照されません。 引数オブジェクトを使用してのみ呼び出すことができます。


Arguments オブジェクト

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 では、オブジェクトの値を参照できます。

そのため、関数内でオブジェクトのプロパティを変更すると、その初期値も変更されます。

オブジェクトのプロパティの変更は、関数 (グローバル変数) の外部で動作する可能性があります。

変更されたオブジェクトのプロパティは関数の外側に表示されます。