JavaScript 함수 매개변수
JavaScript 함수는 매개변수 값을 확인하지 않습니다.
함수 명시적 매개변수(Parameters) 및 암시적 매개변수(Arguments)
이전 튜토리얼에서 함수의 명시적 매개변수에 대해 배웠습니다.
// 실행할 코드...
}
함수가 정의되면 명시적인 함수 매개변수가 나열됩니다.
암시적 함수 매개변수는 함수 호출 시 함수에 전달되는 실제 값입니다.
매개변수 규칙
JavaScript 함수가 정의된 경우 표시되는 매개변수는 데이터 유형을 지정하지 않습니다.
JavaScript 함수는 암시적 매개변수에 대한 유형 검사를 수행하지 않습니다.
JavaScript 함수는 암시적 매개변수의 수를 감지하지 않습니다.
기본 매개변수
암시적 매개변수를 제공하지 않고 함수가 호출되면 매개변수는 기본적으로 정의되지 않음
으로 설정됩니다. 이는 허용되지만 매개변수의 기본값을 설정하는 것이 좋습니다.
Instance
<!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, 因为 y 是 true, 否则返回 0, 因为 undefined 为 false。 |
함수 호출 시 매개변수를 너무 많이 설정하면 해당 매개변수 이름을 찾을 수 없어 해당 매개변수가 참조되지 않습니다. 인수 객체를 통해서만 호출할 수 있습니다.
인수 객체
JavaScript 함수에는 객체 인수가 내장되어 있습니다. 물체.
인수 개체에는 함수 호출의 매개변수 배열이 포함되어 있습니다.
이 방법으로 마지막 매개변수의 값을 쉽게 찾을 수 있습니다:
Instance
<!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에서는 객체의 값을 참조할 수 있습니다.
그래서 함수 내에서 객체의 속성을 수정하면 객체의 초기값이 수정됩니다.
객체 속성 수정은 함수(전역 변수) 외부에서 수행될 수 있습니다.
객체 속성 수정은 함수 외부에서 볼 수 있습니다.