arguments 개체
업데이트: 2007년 11월
현재 실행 중인 함수와 해당 인수 및 이 함수를 호출한 함수를 나타내는 개체입니다. 이 개체는 명시적으로 생성할 수 없습니다.
속성
메서드
arguments 개체에는 메서드가 없습니다.
요구 사항
설명
arguments 개체는 실행되기 시작할 때 각 함수에 대해 인스턴스화되며 관련된 함수 범위 내에서만 직접 액세스할 수 있습니다.
함수에 전달된 모든 매개 변수 및 매개 변수의 수는 arguments 개체에 저장됩니다. arguments 개체는 배열이 아니지만 배열의 요소에 액세스하는 방식과 동일하게 [ ] 주석을 사용하여 각각의 인수에 액세스할 수 있습니다.
arguments 개체를 사용하여 임의 개수의 인수를 받아들일 수 있는 함수를 만들 수 있습니다. 함수를 정의할 때 매개 변수 배열을 생성해도 동일한 효과가 나타납니다. 자세한 내용은 function 문 항목을 참조하십시오.
참고: |
---|
arguments 개체는 JScript의 기본값인 고속 모드에서 실행될 때는 사용할 수 없습니다. arguments 개체를 사용하는 명령줄에서 프로그램을 컴파일하려면 /fast-를 사용하여 고속 옵션을 해제해야 합니다. 스레딩 문제로 인해 ASP.NET에서 고속 옵션을 해제하는 것은 안전하지 않습니다. |
예제
다음 예제에서는 arguments 개체의 사용법을 보여 줍니다.
function argTest(a, b) : String {
var i : int;
var s : String = "The argTest function expected ";
var numargs : int = arguments.length; // Get number of arguments passed.
var expargs : int = argTest.length; // Get number of arguments expected.
if (expargs < 2)
s += expargs + " argument. ";
else
s += expargs + " arguments. ";
if (numargs < 2)
s += numargs + " was passed.";
else
s += numargs + " were passed.";
s += "\n"
for (i =0 ; i < numargs; i++){ // Get argument contents.
s += " Arg " + i + " = " + arguments[i] + "\n";
}
return(s); // Return list of arguments.
}
print(argTest(42));
print(argTest(new Date(1999,8,7),"Sam",Math.PI));
이 프로그램은 다음과 같이 출력됩니다.
The argTest function expected 2 arguments. 1 was passed.
Arg 0 = 42
The argTest function expected 2 arguments. 3 were passed.
Arg 0 = Tue Sep 7 00:00:00 PDT 1999
Arg 1 = Sam
Arg 2 = 3.141592653589793