JAVA를 공부한 사람들은 함수 커버리지와 오버로딩에 대해 매우 익숙할 것입니다. 오버로딩이란 두 개 이상의 함수의 매개변수 유형, 순서, 개수, 반환 값이 서로 다른 것을 의미합니다. 커버링이란 두 개 이상의 함수의 매개변수 유형, 순서, 개수, 반환값이 완전히 동일하다는 의미입니다. JavaScript에 정말 이 기능이 있나요? 답은 JS에서 함수에 중복된 이름이 있는 경우 마지막 정의만 사용된다는 것입니다. 먼저 아래 코드를 보세요
<입력 유형='버튼' onclick='testFun2();' value='인수가 없는 함수'/>
3차 시험
<입력 유형='버튼' onclick='testFun3();' value='테스트 함수는 동일한 이름과 인수를 공유합니다.'/>
먼저 인수가 없는 function이라는 버튼을 누릅니다.
페이지 결과는 인수가 하나인 'testFun'이라는 함수이고 인수는 정의되지 않았습니다. 그런 다음 인수가 있는 function이라는 버튼을 누릅니다. 인수 1개 페이지의 테스트 버튼 의 결과는 인수가 하나인 'testFun'이라는 함수이고 인수는 테스트 이며 인수 없이 function이라는 버튼을 누릅니다 의 결과 페이지는 인수가 없는 'testFun2'라는 함수입니다. 그런 다음 인수가 하나인 함수라는 버튼을 누릅니다. 페이지의 결과는 인수가 없는 'testFun2'라는 함수입니다. 🎜> 위에서 테스트하는 동안 두 함수의 정의 순서만 변경했을 뿐 결과가 상당히 다르다는 것을 발견했습니다. 위 테스트에서 다음과 같은 결론을 내릴 수 있습니다. 오버로드된 경우 함수 정의가 아래에 있는 한 위의 함수 정의를 덮어씁니다. 자, 취재 내용을 살펴보겠습니다. 테스트 함수라는 버튼을 누르면 동일한 이름과 인수가 공유됩니다.
페이지 결과는 'testFun3'이라는 함수입니다. 테스트 결과는 뻔하고 결론은 다음과 같습니다. 의 위와 동일합니다. 마침내 우리는 다음과 같은 결론에 도달했습니다. 메서드 이름이 같은 경우 JS는 마지막으로 정의된 함수를 함수 본문으로 사용합니다. 물론 여기에는 JS의 상속 재정의가 포함되지 않습니다. 벽돌 구입을 환영합니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.