>웹 프론트엔드 >JS 튜토리얼 >Javascript 함수의 인수(그래픽 튜토리얼)

Javascript 함수의 인수(그래픽 튜토리얼)

亚连
亚连원래의
2018-05-19 11:41:511288검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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