arguments 개체

현재 실행 중인 함수와 해당 인수 및 이 함수를 호출한 함수를 나타내는 개체입니다. 이 개체는 명시적으로 생성할 수 없습니다.

속성

arguments 개체 속성

메서드

arguments 개체에는 메서드가 없습니다.

요구 사항

버전 1

설명

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

참고 항목

참조

new 연산자

function 문

/fast