JS에서는 모든 것이 객체이며 함수조차 객체입니다. 함수 이름은 실제로 객체를 정의하는 함수를 나타내는 변수입니다.
1. 논쟁이란 무엇입니까?
이 기능 본문의 논쟁은 매우 특별합니다. 그들은 실제로 위치가있는 기능의 내장 배열 객체입니다. 배열 [i]와 .length를 사용할 수 있습니다.
2. 그 기능은 무엇입니까?
JS 구문은 과부하를 지원하지 않습니다! 그러나 인수 객체를 사용하여 과부하 효과를 시뮬레이션 할 수 있습니다.
인수 객체 : 함수 객체에서 모든 매개 변수와 값 배열 개체를 수신하도록 자동으로 생성됩니다.
인수 [i] : 첨자 i에 전달 된 매개 변수 값을 얻습니다. i
arguments.length : 전달 된 매개 변수 수를 얻으십시오!
초과 적재:
동일한 함수 이름과 다른 매개 변수 목록을 가진 여러 기능을 프로그램에서 정의 할 수 있습니다.
발신자는 각 함수의 매개 변수를 구별 할 필요가 없습니다.
실행 중에 프로그램은 전달 된 매개 변수 수에 따라 실행할 기능을 자동으로 결정합니다.
예는 다음과 같습니다.
// 1. 사용자가 매개 변수를 전달하면 제곱 함수 합 (a) {console.log (a*a);} // 사용자가 두 매개 변수로 전달되면 합 함수 합 (a, b) {console.log (a+b);} sum (4); //? 합 (4,5); //?위의 예에서 원래 의도는 동일한 이름의 함수 합 ()가 다른 매개 변수에 따라 다른 결과를 출력하도록하는 것이지만, 합은 함수의 이름이며 본질적으로 변수입니다.
두 번째는 첫 번째 것이기 때문에 위의 올바른 출력 답변은 Nan, 9입니다. 따라서 이것은 불가능합니다.
인수를 사용하면 훨씬 간단합니다.
다음 2 가지 예 :
// 2. 함수 calc () {// 사용자가 매개 변수로 전달되는 경우 (arguments.length == 1) {console.log (arguments [0]*arguments [0]);} else if (arguments.length == 2) {// 사용자가 두 매개 변수로 전달되는 경우 sum console.log ([0]+arguments [1]);}}}; // 16calc (4,5); // 9 /*3. 사용자가 전달하는 숫자 수에 관계없이 합계*/function add () {// 인수 : [] // 인수의 모든 요소를 트랜잭션하고 (var) i = 0, sum = 0; i <arguments.length; sum+= arguments [i ++]); return sum; // return and} console.log (1,2,3); //6console.log (Add(1,2,3,4,5,6)); // 21이것은 인수 과부하를 사용한 JS의 효과입니다. 간단한 이해는 기능을 재사용하는 것입니다.
arguments.length는 실제 인수에 의해 결정됩니다. 즉, 함수의 매개 변수 수는 함수 호출의 매개 변수 수에 의해 결정됩니다!
위는 편집자가 귀하에게 소개 한 JavaScript의 인수 대상에 대한 관련 지식입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!