Javascript_javascript 기술의 인수 및 오버로드 소개

WBOY
풀어 주다: 2016-05-16 16:09:13
원래의
1224명이 탐색했습니다.

언어 설계 오류로 인해 인수가 배열로 처리될 수 있습니다.

코드 복사 코드는 다음과 같습니다.

함수 0 () {
console.log(인수[0]);
}


도 있을 겁니다.
코드 복사 코드는 다음과 같습니다.

함수 0 () {
for(var i=0;i console.log(인수[i]);
}
}

Javascript가 Javasc라는 점을 활용한 것

여기서 인수 변수는 실제 매개변수에 대해 배열과 유사한 인터페이스를 제공합니다. 여기에서는 인수의 가변 매개변수로 인해 이 흥미로운 작업을 사용하여 오버로드와 같은 몇 가지 흥미로운 작업을 수행할 수 있습니다.

Javscript 다시 로드

Stackvoerflow에 오버로딩에 대한 질문이 있어서 먼저 답변을 드립니다

코드 복사 코드는 다음과 같습니다.

if (친구 유형 === "정의되지 않음") {

} 그 외 {

}

또 다른 답변은

코드 복사 코드는 다음과 같습니다.

스위치(arguments.length) {
사례 0:
//오류일 가능성이 높습니다
휴식;
사례 1:
//뭔가를 해라
휴식;
사례 2:
기본값: //추가 매개변수가 있는 경우를 처리하기 위해 실패
//다른 일을 하세요
휴식;
}

그냥 이 방법이 정말 별로인 것 같아요. 결국 우리 함수가 이렇게 되는 걸까요?

코드 복사 코드는 다음과 같습니다.

함수 01 (){
console.log('인수 1')
};
함수 02 (){
console.log('인수 2')
};
함수 0 () {
if(arguments.length == 1){
제로1();
} 그 외{
Zero2();
}
}

정말 하나도 안 예뻐요. 스위치를 바꿔도..케이스도 안 예뻐요.

Javascript 인수가 배열이 아닙니다

인수는 우리가 보는 것처럼 항상 배열이 아니며 때로는 그렇지 않을 수도 있습니다.

코드 복사 코드는 다음과 같습니다.

함수 hello(){
console.log(인수 유형);
}

여기서 인수 유형은 객체입니다. 배열 유형도 객체이지만 배열로 변환할 수 있습니다
코드 복사 코드는 다음과 같습니다.

var args = Array.prototype.slice.call(인수);

그러나 이것은 또한 이것이 배열이 아니라는 것을 보여줍니다. 배열의 유일한 속성은 길이입니다. 게다가

arguments.callee

현재 실행 중인 함수에 대한 참조입니다.

arguments.caller

현재 실행 중인 함수를 호출한 함수에 대한 참조

인수.길이

함수에 전달된 인수 수에 대한 참조입니다.

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