javascript- 함수 중의arguments 대상

2338 단어
JavaScript 함수에는 함수에 전달되는 매개 변수에 해당하는 arguments라는 배열과 같은 객체가 있습니다.JavaScript 함수에 전달되는 모든 매개변수는 arguments 객체를 사용하여 참조할 수 있습니다.eg:
function add(num1, num2) {
   var res = num1 + num2;
   return res;
}
var r = add(7, 8);
console.log(r);//   15

위의 함수에서num1과num2는 두 개의 매개 변수입니다.이 인자들을 인용하기 위해num1과num2의arguments를 사용할 수 있습니다.arguments 이름 이외에도 개체arguments와 같은 JavaScript 배열을 사용하여 참조할 수 있습니다.따라서 위의 함수를 다시 쓸 수 있습니다.eg:
function add(num1, num2) {
    var res = arguments.length;
    return res;
}
var r = add(7, 8);
console.log(r);//   15

JavaScript 함수에서 arguments 객체는 함수에 전달되는 모든 매개변수를 액세스하거나 참조하는 데 사용됩니다.arguments 대상은 함수에 사용할 수 있는 국부 변수입니다.arguments 대상의 길이는 함수에 전달되는 arguments 수량에 해당한다.다음 코드를 보십시오. 출력으로 2를 얻을 것입니다. 왜냐하면 두 개의arguments가 함수에 전달되기 때문입니다.
function add(num1, num2) {
    var res = arguments.length;
    return res;
}
var r = add(7, 8);
console.log(r);//   2

arguments 대상은 순수 그룹이 아닙니다
JavaScript의 arguments 객체는 순수한 JavaScript 배열이 아닙니다.arguments 대상에 대해push,pop,slice 같은 작업을 수행할 수 없습니다.아래 열거한 코드에서 보듯이push작업을 실행하면 이상이 발생합니다.arguments.push는 함수가 아닙니다.단,arguments 대상 그룹에 특정한 항목을 설정할 수 있습니다.먼저 색인 0을 사용하여 배열의 첫 번째 항목을 설정할 수 있습니다.
function add(num1, num2) {
    arguments[0] = 15;//num1     
    var res = num1 + num2;//15+8
    return res;
}
var r = add(7, 8);
console.log(r);//     23

arguments 대상을 그룹으로 변환하기
이 기사에서 설명한 바와 같이 JavaScript 함수 arguments 객체는 순수 배열이 아닙니다.길이 속성 외에 다른 속성은 없습니다.하지만, 당신은 Array를 사용할 수 있습니다.prototype.slice.call은 arguments 객체를 다음과 같이 배열로 변환합니다.
function add(num1, num2) {
    var arg = Array.prototype.slice.call(arguments);
    console.log(arg); //    [7, 8]
    console.log(arg.pop());// pop()                  。    8
    console.log(arg); //    [7]
}
var r = add(7, 8);

참고:
4
  • arguments 대상의 길이는 함수에 전달되는 매개 변수의 수량과 같다

  • 4
  • arguments 객체는 유사한 배열의 객체이지만 JavaScript 배열은 아닙니다

  • 4
  • 당신은arguments 대상에 대해push,pop,slice 등 다른 자바스크립트 배열 방법을 사용할 수 없습니다

  • 4
  • JavaScript arguments 객체 인덱스는 0에서 시작합니다.그래서 첫 번째 파라미터는arguments[0]에 인용되고 두 번째 파라미터는arguments[1]에 인용된다

  • 쉽게 말하면 JavaScript arguments 객체는 함수에 전달되는 매개변수를 참조하는 배열과 유사한 객체입니다.ECMAScript 6에서 도입된rest 매개 변수는 현재 함수의arguments 대상을 대체하는 데 널리 사용되고 있습니다. 변수나 매개 변수에 사용됩니다.

    좋은 웹페이지 즐겨찾기