Javascript의 인수 객체

高洛峰
풀어 주다: 2017-01-04 17:04:04
원래의
1206명이 탐색했습니다.

js의 모든 것은 객체입니다. 심지어 함수도 객체입니다. 함수 이름은 실제로 함수에 의해 정의된 객체를 참조하는 변수입니다.

1. 인수란 무엇인가요?

이 함수 본문의 인수는 실제로 함수의 내장 배열형 객체입니다. 배열의 [i] 및 .length를 사용할 수 있습니다.

2. 기능은 무엇인가요?

js 구문은 오버로딩을 지원하지 않습니다! 그러나 인수 개체를 사용하여 오버로딩 효과를 시뮬레이션할 수 있습니다.

인수 객체: 함수 객체 내에서 모든 매개변수 값을 받기 위해 자동으로 생성된 배열형 객체가 특별히 생성됩니다.
arguments[i]: 아래 첨자 i를 사용하여 전달된 매개변수 값을 가져옵니다.
arguments.length: 전달된 매개변수 수를 가져옵니다!

오버로딩:

동일한 함수 이름과 다른 매개변수 목록을 가진 여러 함수를 프로그램에서 정의할 수 있습니다.
호출자는 매개변수를 구분할 필요가 없습니다.
실행 시, 프로그램은 전달된 매개변수 수에 따라 어떤 함수를 실행할지 자동으로 결정합니다.

예제는 다음과 같습니다.

// 1、如果用户传入一个参数,求平方
function sum(a){
console.log(a*a);
}
//如果用户传入两个参数,就求和
function sum(a,b){
console.log(a+b);
}
sum(4); //?
sum(4,5); //?
로그인 후 복사

위 예에서는 원래 의도는 같은 이름의 함수 sum()이 다른 결과에 따라 다른 결과를 출력하도록 하는 것입니다. 매개변수이지만 sum은 함수 이름이고 본질적으로 변수입니다.

두 번째 항목은 첫 번째 항목을 덮어쓰므로 위의 올바른 출력 답변은 NaN,9입니다. 가능한.

인수를 사용하면 훨씬 간단합니다.

다음 두 가지 예:

//2、
function calc(){
//如果用户传入一个参数,求平方
if(arguments.length==1){
console.log(arguments[0]*arguments[0]);
}else if(arguments.length==2){
//如果用户传入两个参数,就求和
console.log(arguments[0]+arguments[1]);
}
}
calc(4); //16
calc(4,5); //9 
/*3、无论用户传入几个数字,都可以求和*/
function add(){
//arguments:[]
//遍历arguments中每个元素,并累加
for(var i=0,sum=0;i<arguments.length;sum+=arguments[i++]);
return sum;//返回和
}
console.log(add(1,2,3)); //6
console.log(add(1,2,3,4,5,6)); //21
로그인 후 복사

이것은 인수 오버로딩을 사용하는 JS의 효과입니다. 간단히 이해하면 함수가 재사용된다는 것입니다.

인수.길이는 실제 매개변수, 즉 함수 호출의 매개변수 개수에 따라 결정됩니다!

위 내용은 편집자가 소개한 Javascript의 인수 객체에 대한 지식입니다. 궁금한 사항이 있으면 메시지를 남겨주시면 편집자가 답변해 드리겠습니다. 시간이 지나면. 또한 PHP 중국어 웹사이트를 지원해 주신 모든 분들께 감사드립니다!

자바스크립트의 인수객체에 대한 더 많은 글을 보시려면 PHP 중국어 홈페이지를 주목해주세요!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿