arguments 대상 211

1382 단어

arguments 대상


함수 코드에서 특수 대상인arguments를 사용하면 개발자가 파라미터 이름을 명확하게 지적하지 않아도 접근할 수 있다.
예를 들어, 함수sayHi()에서 첫 번째 매개변수는 메시지입니다.arguments[0]로도 이 값, 즉 첫 번째 파라미터의 값에 접근할 수 있다(첫 번째 파라미터는 위치 0에 있고 두 번째 파라미터는 위치 1에 있으며 이런 식으로 추정된다).
따라서 명명된 매개변수 없이 함수를 다시 작성할 수 있습니다.
function sayHi() {
  if (arguments[0]== "bye") {
    return;
  }

  alert(arguments[0]);
}

감지 매개변수 개수


arguments 대상에서 함수의 매개 변수 개수를 검출할 수 있으며, 인용 속성arguments.length면 돼.
다음 코드는 호출할 때마다 함수에 사용되는 매개변수 개수를 출력합니다.
function howManyArgs() {
  alert(arguments.length);
}

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

위의 이 코드는 순서대로 "2", "0", "1"을 표시할 것이다.

아날로그 함수 재로드


arguments 객체를 사용하여 함수에 전달되는 매개변수 개수를 판단하여 함수 재로드를 시뮬레이션할 수 있습니다.
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를 추가합니다.만약 두 개의 매개 변수가 있다면, 두 개의 매개 변수를 더해서 그것들의 합을 되돌려줄 것이다.그래서 DoAdd(10)는'15', DoAdd(40,20)는'60'을 출력한다.

좋은 웹페이지 즐겨찾기