JavaScript 코드에 정의되지 않은 함수를 호출하려고 하면 콘솔에 undefined
오류가 표시될 수 있습니다. JavaScript는 이 오류를 발생시키고 코드 실행을 중지합니다.
이 글에서는 함수가 존재하는지 확인하는 방법을 알려드리겠습니다. 이렇게 하면 발생할 수 있는 실수를 피할 수 있습니다. 이는 소프트웨어를 실행 중인 클라이언트에서 특정 라이브러리나 API를 사용할 수 있는지 확인하는 데 유용한 기술입니다.
JavaScript에는 함수가 존재하는지 확인하는 몇 가지 방법이 있습니다. 몇 가지를 보여드리겠습니다.
if
조건문 사용함수가 정의되었는지 확인하는 한 가지 방법은 if
语句来测试它。诀窍是将该函数作为 window
문을 사용하여 테스트하는 것입니다. 비결은 함수를 window
객체의 메서드로 테스트하는 것입니다.
따라서 테스트하고 싶다면 aFunctionName
다음을 사용하세요:
함수를 정의하면 괄호 안의 코드가 실행됩니다. 반대로 if(aFunctionName)
,则如果函数不存在,JavaScript 将抛出 ReferenceErorr
처럼 window 객체를 사용하지 않고 함수만 테스트한다면.
두 가지 함수, 즉 하나는 존재하고 다른 하나는 존재하지 않는지 확인하는 다음 예를 살펴보겠습니다.
으아악위 코드 조각은 다음을 출력합니다:
으아악이 예제에서는 훌륭하게 작동하지만 이 접근 방식의 한 가지 문제점은 명명된 개체가 실제로 함수인지 확인하지 않는다는 것입니다. 실제로 동일한 이름을 가진 모든 변수는 테스트에서 함수가 정의된 것으로 생각하도록 속입니다.
typeof
운영자또는 typeof
연산자를 사용할 수도 있습니다. 이 연산자는 선언된 함수의 이름이 존재하는지, 그것이 함수인지, 다른 유형의 객체나 기본 요소가 아닌지 확인합니다.
위의 예에서는 nameOfFunction
이 존재하는지 테스트하고 존재하면 실행합니다.
尝试...catch
블록을 사용try…catch
블록은 블록 내에서 발생할 수 있는 오류를 처리합니다. 우리는 정의되지 않은 함수를 호출할 때 JavaScript가 발생하는 try…catch
块处理该块内可能发生的错误。我们将使用此方法来处理当我们调用未定义的函数时 JavaScript 会抛出的 undefined
오류를 처리하기 위해 이 방법을 사용할 것입니다.
try...catch
명령문 작동 방식우리는 try
块内运行该函数。如果不存在,则会抛出异常,并由 catch
블록에서 처리합니다.
예는 다음과 같습니다.
으아악testFunction
이 정의되지 않은 경우 다음 메시지가 콘솔에 출력됩니다.
이것은 try...catch
블록 없이도 볼 수 있는 것이지만 이 경우 코드는 catch 블록 아래에서 계속 실행됩니다.
이 글에서는 함수를 호출하기 전에 JavaScript에 함수가 존재하는지 확인하는 세 가지 주요 방법을 설명합니다. if
条件语句的使用、typeof
运算符的使用,最后是 try...catch
조건문의 사용,
위 내용은 Java 스크립트에 함수가 있는지 확인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!