JavaScript에서 인수 개체는 실제로 현재 함수의 내장 속성입니다. 다음 글에서는 자바스크립트 함수에서 인자의 등장과 이를 배열로 변환하는 방법에 대한 관련 정보를 주로 소개하고 있으니, 필요한 친구들이 참고하면 좋을 것 같습니다.
1. 인수의 모양
JavaScript의 모든 함수에는 인수라는 숨겨진 변수가 포함되어 있습니다. 이 변수는 이 함수에 전달된 모든 매개변수를 저장합니다.
그런 다음 예제를 열어서 출력 형식을 살펴보겠습니다. ofargs
(function fn(){ console.log(arguments) })(1,2,3,4)
결과는 배열과 같은 형식으로 콘솔에 인쇄되는 것 같습니다. 저를 포함한 대부분의 사람들은 이 출력을 볼 때 인수가 배열이라고 생각할 것이라고 생각합니다. 배열, 사용할 수 있습니다. 배열의 몇 가지 방법을 살펴보겠습니다. 다음 예를 살펴보겠습니다.
(function fn(){ arguments.push(5) console.log(arguments) })(1,2,3,4)
결과는 오류입니다. ;(프로젝트에서 이 구덩이를 밟았습니다);
그러면 배열이므로 왜 push 메서드를 사용할 수 없는 걸까요? 팝이나 슬라이스와 같은 다른 것도 작동하지 않습니다. 인수는 첨자 형태로 해당 위치의 매개변수를 얻을 수도 있지만 본질적으로 실제 배열은 아닙니다.
Array의 하위 항목인지 확인하기 위해 이를 인쇄합니다
(function fn(){ console.log(arguments instanceof Array) })()
예상대로 배열이 아니므로 객체로 생각하겠습니다.
for 루프를 사용하여 내부 매개변수를 탐색할 수도 있지만 실제 배열로 변환하는 것이 더 좋습니다.
2. 배열로 변환 객체는 전달되는 척하거나 순회하여 빈 배열에 푸시하거나 다른 함수에 전달하는 등 다양한 방법으로 Array.prototype에 전달됩니다. . 모두 완료할 수 있습니다. 다음은 빈 배열로 푸시하는 방법에 대해 자세히 설명하지 않습니다.
(function fn(){ var arr = Array.prototype.slice.call(arguments) arr.push(5) console.log(arr) })(1,2,3,4)
이 변환 방법은 더 느리고 성능이 좋지 않은 경우에는 이 방법을 사용하지 않는 것이 좋습니다.
두 번째 방법:
function fn() { fnArr.apply(null, arguments); } function fnArr(a,b,c,d) { ··· }위 내용은 앞으로 모든 사람에게 도움이 되기를 바랍니다.
관련 기사:
JS는 URL 매개변수를 가져오고
js포맷 POST 단계에 대한 자세한 설명을 보냅니다.
js
프런트엔드와 백엔드 간 Json 코드의 상호 전송을 실현합니다.
$http 서비스 포스트 메소드 전송 js
매개변수 사례에 대한 자세한 설명
위 내용은 Javascript 함수의 인수(그래픽 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!