JavaScript関数のパラ...LOGIN

JavaScript関数のパラメータ

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


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

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

// 実行されるコード...
}



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

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


パラメータのルール

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>

プログラムを実行して試してください

ヒント: y が定義されている場合、y | | は y が true であるため 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 では、オブジェクトの値を参照できます。

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

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

オブジェクトのプロパティの変更は関数の外部で確認できます。



次のセクション
<!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>
コースウェア