>웹 프론트엔드 >JS 튜토리얼 >Javascript_Basic 지식에 있는 Argument 객체에 대한 자세한 설명

Javascript_Basic 지식에 있는 Argument 객체에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 16:33:131077검색

이전 글에서는 JavaScript의 기본 매개변수에 대해 설명했습니다. 이번 글에서는 JavaScript의 인수 매개변수 개체에 대해 설명하겠습니다.

아래 예의 함수에서 전달된 다양한 매개변수에 따라 어떻게 다른 처리를 수행할 수 있나요?

코드 복사 코드는 다음과 같습니다.

함수 addAll() {
// 여기서 무엇을 할까요?
}

// 6을 반환해야 합니다
addAll(1, 2, 3);

// 10을 반환해야 합니다
addAll(1, 2, 3, 4);

다행히 JavaScript에는 위 상황을 처리할 수 있는 인수 개체가 있습니다. 인수 개체는 배열과 유사한 개체입니다. 인수 개체에 대해 자세히 알아보려면 여기를 클릭하세요. 위의 예를 변경하려면 인수 개체를 사용하세요.

코드 복사 코드는 다음과 같습니다.

함수 addAll() {
var 합계 = 0;

for (var i = 0; i < 인수.길이; i ) {
        합계 = 인수[i];
}

합계 반환;
}

// 6을 반환합니다
addAll(1, 2, 3);

// 10을 반환합니다
addAll(1, 2, 3, 4);

우리는 위에서 인수 객체가 배열과 유사한 객체라고 말했습니다. 테스트해 보겠습니다.

코드 복사 코드는 다음과 같습니다.

함수 getName() {
console.log(Array.isArray(인수));
}

//false를 출력합니다
getName("벤자민");

위의 테스트 결과를 볼 수 있습니다:
배열 객체가 아닌데, 배열 객체와 차이점은 무엇인가요? 자세한 내용을 보려면 여기를 클릭하십시오.

다음 예제를 실행하면 오류가 발생합니다.

코드 복사 코드는 다음과 같습니다.

함수 sortArgs() {
// 잡히지 않은 TypeError: 정의되지 않은 것은 함수가 아닙니다
정렬됨 = 인수.정렬()

정렬되어 반환됩니다.
}
sortArgs();

다음과 같이 배열 유사 객체를 배열 객체로 변환할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

함수 sortArgs() {
// 인수 객체를 실제 배열로 변환
var args = [].slice.call(인수);

// 이제 작동합니다!
정렬됨 = args.sort()

정렬되어 반환됩니다.
}

//[1, 2, 3]을 출력합니다
console.log(sortArgs(1,3,2));

이 글이 도움이 되셨다면, 이 글이 필요한 더 많은 분들께 전달해드리고 싶습니다. 글이 부적절한 경우, 수정을 위해 메시지를 남겨주세요.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.