var f1 = function(p1,p2,p3){
switch(arguments.length){
사례 0:
경보("f1의 매개변수 없는 버전")
사례 1:
경보("f 1의 매개변수 버전 1개: " p1)
중단
사례 2:
경보("f1의 2 매개변수 버전: " p1 ", " p2)
중단
사례 3:
경보( "3 -f1의 매개변수 버전: " p1 ", " p2 ", " p3)
break;
기본값:
alert("3개 이상의 매개변수를 사용한 호출은 지원되지 않습니다!");
휴식 ; 2","3");
f1("1","2","3","4")
2. 매개변수 번호 감지
js 엔진은 동일 함수 호출 시 매개변수 개수를 강제로 확인하지 않으므로 직접 처리만 가능합니다. 샘플 코드:
코드 복사
코드는 다음과 같습니다.
{
Alert("fnMustOneParam은 호출하기 전에 매개변수를 전달해야 합니다(2)!" );
return;
Alert("fnMustOneParam은 하나의 매개변수로만 호출할 수 있습니다!") /fnMustOneParam(1,3,4); . 매개변수 기본 유형 감지
js 엔진은 매개변수 유형도 감지하지 않습니다. 매개변수의 기본 유형에 일부 제한을 적용하려면 typeof를 사용하여 기본 유형을 결정할 수 있습니다.
코드 복사
코드는 다음과 같습니다.
var fnString = function(s){
if(arguments.length !=1){
Alert("매개변수 개수가 일치하지 않습니다!");
return
}
if (typeof s != "string"){
문자열 형식의 매개변수만 전달할 수 있습니다!"); 🎜>
4. 사용자 정의 클래스의 매개변수 유형 감지
3조에서 언급한 방법은 매개변수의 기본 유형만 감지할 수 있습니다. 사용자 정의 클래스의 매개변수에서 typeof 연산자를 사용하면 객체의 유형 감지 결과만 얻을 수 있습니다. 이 경우에는 인스턴스of 연산자 기호를 사용하여 문제를 해결할 수 있습니다.
코드 복사 코드는 다음과 같습니다. >
function Person(이름,나이){
this.name = 이름;
this.age = 나이
}
function fnPerson(p){
if ( 인수.길이=1 && p 인스턴스of 사람){
alert("fnPerson이 성공적으로 호출되었습니다. p.name=" p.name ",p.age=" p.age)
}
else {
경고("전화하려면 Person 유형의 매개변수를 전달해야 합니다!") Yang Guo',30))