js 에서 방법 을 다시 싣 는 것 은 어떻게 실현 합 니까?그리고 함수 의 매개 변수 문제
function Add(firstnumber,sencondnumber) {
return firstnumber+sencondnumber;
}
두 개의 매개 변수 만 처리 할 수 있 고 여러 개의 매개 변수 가 있 거나 매개 변수 가 없 으 면 한 개의 매개 변 수 를 처리 할 수 없다.전달 매개 변수 가 없 으 면 firstnumber,sencondnumber 는 모두 정의 되 지 않 았 습 니 다.매개 변 수 를 전달 하면 firstnumber 에 만 값 을 부여 하 는 것 과 같 습 니 다.sencondnumber 는 여전히 정의 되 지 않 았 습 니 다.반면 두 개 이상 의 인 자 를 전달 하면 firstnumber,sencondnumber 가 모두 할당 한 것 과 같 습 니 다.다른 인자 가 있 지만 처리 할 때 무시 합 니 다.다른 인 자 를 얻 을 수 있다 면 자 연 스 럽 게 처리 할 수 있 을 것 이다.이 때 함수 의 특수 매개 변수 인 arguments 를 생각 할 수 있 을 것 입 니 다.이것 은 함수 에 전 달 된 모든 매개 변 수 를 포함 하고 이 를 이용 하면 방법 으로 다시 불 러 오 는 효 과 를 실현 할 수 있 습 니 다.이상 의 방법 은 다음 과 같다.
function Add(firstnumber,sencondnumber) {
if (arguments.length == 0)//
{
return null;
}
else if (arguments.length == 1) {//
return firstnumber;// return arguments[0];
}
else if(arguments.length == 2)//
{
return firstnumber+sencondnumber;// return arguments[0]+arguments[1];
}
else {
var total=0;
for (var i = 0; i < arguments.length; i++) {
total=total+arguments[i]
}
return total;
}
}
물론 이런 방법의 단점 은 매개 변수의 순서 가 흐 트 러 지지 않 는 다 는 것 이다.만약 에 함수 가 매개 변수 에 의존 하 는 순 서 를 실현 하려 면 반드시 특수 처 리 를 해 야 한다.예 를 들 어 null 을 전달 하여 자 리 를 차지 해 야 한다.함수 에 전 달 된 매개 변 수 는 정 의 된 함수 의 순서에 따라 모든 매개 변수 에 값 을 부여 하 는 것 이기 때문에 두 번 째 매개 변수 에 만 값 을 부여 하려 면 반드시 두 개의 매개 변 수 를 전달 해 야 한다.그렇지 않 으 면 실제 전 달 된 값 은 첫 번 째 매개 변수 에 할당 되 고 두 번 째 매개 변수 에 할당 되 지 않 았 다.예 를 들 어 sencondnumber 에 게 만 값 을 전달 하고 싶 지만 firstnumber 에 게 값 을 전달 하고 싶 지 않 습 니 다.반드시 이렇게 Add(null,2)를 호출 해 야 합 니 다.(물론 함수 내부 에서 특수 값 을 전달 하 는 상황 을 처리 해 야 합 니 다)이렇게 Add(2)를 호출 하면 사실은 firstnumber 에 게 값 을 전달 하 는 것 입 니 다.매개 변 수 를 전달 하 는 상황 을 호출 한 것 과 같 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.