>  기사  >  웹 프론트엔드  >  JavaScript 인수 개체 응용 프로그램 example_javascript 기술

JavaScript 인수 개체 응용 프로그램 example_javascript 기술

WBOY
WBOY원래의
2016-05-16 16:36:29983검색

인수 객체

함수 코드에서 특수 객체 인수를 사용하면 개발자는 명시적으로 이름을 지정하지 않고도 매개변수 이름에 액세스할 수 있습니다.

예를 들어, sayHi() 함수에서 첫 번째 매개변수는 message입니다. 이 값은 첫 번째 인수의 값인 인수[0]을 사용하여 액세스할 수도 있습니다. 첫 번째 인수는 위치 0에 있고 두 번째 인수는 위치 1에 있습니다.

따라서 매개변수의 이름을 명시적으로 지정하지 않고도 함수를 다시 작성할 수 있습니다.

function sayHi() {
if (arguments[0] == "bye") {
return;
}

alert(arguments[0]);
}

검출 매개변수 개수

또한 인수 개체를 사용하여 함수의 매개변수 수를 감지할 수 있습니다. 단지 인수.길이 속성을 참조하면 됩니다.

다음 코드는 각 함수 호출에 사용되는 매개변수 수를 출력합니다.

function howManyArgs() {
alert(arguments.length);
}

howManyArgs("string", 45);
howManyArgs();
howManyArgs(12);

위 코드는 "2", "0", "1"을 차례로 표시합니다.

참고: 다른 프로그래밍 언어와 달리 ECMAScript는 함수에 전달된 매개변수 수가 함수에서 정의한 매개변수 수와 같은지 확인하지 않습니다. 개발자 정의 함수는 오류 없이 인수(Netscape 문서에 따르면 최대 255개)를 수용할 수 있습니다. 누락된 인수는 정의되지 않은 상태로 함수에 전달되며 추가 함수는 무시됩니다.
함수 오버로드 시뮬레이션

함수 오버로드를 시뮬레이션하기 위해 함수에 전달되는 매개변수 수를 결정하려면 인수 객체를 사용하세요.

function doAdd() {
if(arguments.length == 1) {
alert(arguments[0] + 5);
} else if(arguments.length == 2) {
alert(arguments[0] + arguments[1]);
}
}

doAdd(10); //"15" 출력
doAdd(40, 20); //"60" 출력

매개변수가 하나만 있는 경우 doAdd() 함수는 매개변수에 5를 더합니다. 매개변수가 2개인 경우 두 매개변수를 더하고 그 합계를 반환합니다. 따라서 doAdd(10)은 "15"를 출력하고 doAdd(40, 20)은 "60"을 출력합니다.

오버로드만큼 좋지는 않지만 ECMAScript의 이러한 한계를 극복하는 데는 충분합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.