>웹 프론트엔드 >JS 튜토리얼 >JavaScript_기본 지식에서 함수 중첩 사용

JavaScript_기본 지식에서 함수 중첩 사용

WBOY
WBOY원래의
2016-05-16 15:56:481494검색

JavaScript 1.2 이전에는 함수 정의가 최상위 전역 코드에서만 허용되었지만 JavaScript 1.2에서는 다른 함수에 함수 정의를 중첩할 수 있습니다.

여전히 기존 함수 정의는 표시되지 않고 조건 내에서 반복되거나 제한될 수 있습니다. 함수 정의에 대한 이러한 제한 사항은 함수 선언 및 함수 명령문에만 적용됩니다.

함수 리터럴(JavaScript 1.2에 도입된 또 다른 기능)은 모든 JavaScript 표현식에 나타날 수 있습니다. 즉, if else 문 안에 나타날 수 있습니다.
예:

다음은 두 가지 중첩 함수의 예입니다. 약간 혼란스러울 수 있지만 완벽하게 작동합니다.

<script type="text/javascript">
<!--
function hypotenuse(a, b) {
  function square(x) { return x*x; }
  
  return Math.sqrt(square(a) + square(b));
}
//-->
</script>

참고: 여기서는 수학 클래스의 sqrt 함수를 사용하고 있습니다.

이제 이 함수는 다음과 같은 일반적인 방법으로 호출할 수 있습니다.

<script type="text/javascript">
<!--
hypotenuse(1, 2); // This will produce 2.2360
//-->
</script>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.