JavaScript 함수 매개변수
JavaScript 함수는 매개변수 값을 확인하지 않습니다.
함수 명시적 매개변수(Parameters) 및 암시적 매개변수(Arguments)
이전 튜토리얼에서 함수의 명시적 매개변수에 대해 배웠습니다. 코드...
}
함수를 정의할 때 함수의 명시적 매개변수가 나열됩니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </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>If y 이미 정의, y ||는 y가 true이기 때문에 y를 반환하고, 그렇지 않으면 undefed가 false이기 때문에 0을 반환합니다. 함수 호출 시 매개변수를 너무 많이 설정하면 해당 매개변수 이름을 찾을 수 없어 해당 매개변수가 참조되지 않습니다. 인수 객체를 통해서만 호출할 수 있습니다. Arguments 객체
JavaScript 함수에는 내장 객체 인수 객체가 있습니다.
argument 객체에는 함수 호출의 매개변수 배열이 포함되어 있습니다. 이 방법으로 마지막 매개변수의 값을 쉽게 찾을 수 있습니다: 소스 코드:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </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"> </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>값으로 매개변수 전달
The 함수에서 호출되는 매개변수는 함수의 암시적 매개변수입니다.
JavaScript 암시적 매개변수는 값으로 전달됩니다. 함수는 값을 가져옵니다. 함수가 매개변수 값을 수정하는 경우 명시적 매개변수(함수 외부에서 정의됨)의 초기 값은 수정되지 않습니다. 암시적 매개변수의 변경 사항은 함수 외부에 표시되지 않습니다. 객체를 통해 매개변수 전달JavaScript에서는 객체의 값을 참조할 수 있습니다.그래서 함수 내부에서 객체의 속성을 수정하면 객체의 초기값이 수정됩니다.
객체 속성 수정은 함수(전역 변수) 외부에서 수행될 수 있습니다.
수정된 개체 속성은 함수 외부에서 볼 수 있습니다.