javascript- 함수 중의arguments 대상
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
4
4
4
쉽게 말하면 JavaScript arguments 객체는 함수에 전달되는 매개변수를 참조하는 배열과 유사한 객체입니다.ECMAScript 6에서 도입된rest 매개 변수는 현재 함수의arguments 대상을 대체하는 데 널리 사용되고 있습니다. 변수나 매개 변수에 사용됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.