>  기사  >  웹 프론트엔드  >  JS 함수_javascript 기술의 오버로딩을 구현하는 방법

JS 함수_javascript 기술의 오버로딩을 구현하는 방법

WBOY
WBOY원래의
2016-05-16 19:25:461059검색

JavaScript는 다음과 같이 함수 오버로드를 지원할 수 없습니다.

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

< 스크립트 언어="JavaScript">
function f(length)
{
Alert("높이:" length)

function f(length, width)
{
Alert("높이: " 길이 ", 너비: " width)



위 코드 실제로는 작동하지 않습니다. 왜냐하면 함수가 정의될 ​​때의 매개변수 개수는 함수가 호출될 때의 매개변수 개수와 아무런 관련이 없기 때문입니다. 함수에서 f.arguments[0] 및 f.arguments[1]을 사용하여 호출 시 전달되는 첫 번째 및 두 번째 매개변수를 얻을 수 있으므로 function(length)를 정의하면 나중에 f(를 사용하여 호출할 필요가 없습니다. 10,10) 문제가 있다. 따라서 위 코드에서는 두 번째 함수를 호출할 수 없습니다. 그렇다면 함수 오버로딩과 같은 기능을 어떻게 구현할 수 있을까요?
함수 정의에서 f.arguments.length를 사용하여 호출 시 전달되는 매개변수 수를 결정하는 것입니다. 그런 다음 상황에 따라 다른 접근 방식을 사용하십시오.
다음과 같습니다.