ECMAScript arguments 객체

1388 단어

1.arguments는 무엇입니까?

  • arguments는 하나의 클래스 그룹 대상
  • arguments 대상은 함수 내부의 로컬 변수로 더 이상 함수의 속성이 아니다.

  • 2.arguments는 무슨 소용이 있습니까?

  • 함수 내부에서 특수 대상인arguments를 사용하면 매개 변수의 이름을 명확하게 지적하지 않아도 이 매개 변수에 접근할 수 있다.예를 들어, 나는addAll() {} 함수에서arguments[0]를 사용했지만, 나는 파라미터를 지정하지 않았다. 내가addAll(2)을 호출하려고 할 때 그에게 파라미터를 보내면 함수에서arguments[0]=2를 얻을 수 있다.
  • arguments 대상 검출 함수의 매개 변수 개수, 인용 속성arguments.length면 돼.만약 함수에 세 개의 매개 변수가 있다면arguments.length = 3, 다음과 같은 방법으로 매개변수를 가져올 수 있습니다.
  • arguments[0]
  • arguments[1]
  • arguments[2]


  • 코드

    function addAll(){
      let sum = 0;
      for(let i=0;i

    3. 만약에 우리가 함수에서arguments라는 변수를 스스로 정의한다면 어떤 상황이 나타날까요?

  • 시도한 후에 전체 프로그램의 오류가 발견되었습니다. 알림 ** Identifier'arguments'has already been declared**, 그러므로arguments 변수를 정의하지 마십시오.

  • 4. callee 속성

    callee 속성은 바늘로 이 arguments 대상을 가진 함수를 가리킨다
  • callee로 곱하기 실현
  • function fac(num){
      if( num <= 1 ){
        return 1;
      } else{
        return num*arguments.callee(num-1);
      }
    }
    
  • 함수명과 함수체 간의 결합을 해제하고 위의 함수fac를 다음 조작
  • let newFac = fac;
    fac = function(){
      return 0;
    }
    alert(newFac(5));  //120
    alert(fac(5));     //0      
    

    좋은 웹페이지 즐겨찾기