JavaScript 함수 매개변수

JavaScript 함수는 매개변수 값을 확인하지 않습니다.


함수 명시적 매개변수(Parameters) 및 암시적 매개변수(Arguments)

이전 튜토리얼에서 함수의 명시적 매개변수에 대해 배웠습니다.

                      // 실행할 코드...
}



함수 정의 시 명시적인 함수 매개변수가 나열됩니다.

암시적 함수 매개변수는 함수 호출 시 함수에 전달되는 실제 값입니다.


매개변수 규칙

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>

프로그램을 실행하고 사용해 보세요


Tip

: 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>
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~