js코드를 작성할 때 발생하는 오류는 이제 막 시작한 js초보에게는 js에서 오류를 찾는 데 오랜 시간이 걸리므로 정신이 멍해질 수 있습니다. 이 글도 함께 살펴볼까요
일반적인 js 오류 유형
(1) SyntaxError
SyntaxError는 코드를 파싱할 때 발생하는 구문 오류
//변수 이름 오류
// 대괄호 누락
console.log 'hello');
(2) ReferenceError
ReferenceError는 존재하지 않는 변수를 참조할 때 발생하는 오류입니다.
unknownVariable
// ReferenceError: 알 수 없는 변수가 정의되지 않았습니다
또 다른 트리거 시나리오는 함수 또는 this의 결과를 할당하는 것과 같이 할당할 수 없는 개체에 값을 할당하는 것입니다.
console.log() = 1
// ReferenceError: 잘못된 왼쪽 할당
this = 1
// ReferenceError: 잘못된 왼쪽 할당
위 코드는 함수 콘솔에 대한 것입니다. .log 실행 결과와 이 할당 모두 ReferenceError
(3) RangeError
RangeError는 값이 유효한 범위를 초과할 때 발생하는 오류입니다. 몇 가지 주요 상황이 있습니다. 하나는 배열 길이가 음수이고, 다른 하나는 Number 객체의 메서드 매개변수가 범위를 벗어났으며, 함수 스택이 최대값을 초과하는 것입니다.
new Array(-1)
// RangeError: 잘못된 배열 길이
(1234).toExponential(21)
// RangeError: toExponential() 인수는 0에서 20 사이여야 합니다
(4)TypeError
TypeError는 변수나 매개변수가 예상한 유형이 아닐 때 발생하는 오류입니다. 예를 들어 문자열, 부울 값, 숫자 값과 같은 기본 유형에 대해 new 명령을 사용하는 경우 new 명령의 매개변수가 생성자여야 하므로 이 오류가 발생합니다.
new 123
//TypeError: number is not a func
var obj = {}; obj.unknownMethod()
// TypeError: undefine is not a function
위 코드의 두 번째 경우는 다음을 호출하세요. 객체가 존재하지 않으면 TypeError가 발생합니다.
(5) URIError
URIError는 주로 encodeURI(), decodeURI(), encodeURIComponent(), decodeURIComponent(), escape() 및 unescape()와 관련된 URI 관련 함수의 매개 변수가 올바르지 않을 때 발생하는 오류입니다. 기능.
decodeURI('%2')
// URIError: URI Malformed
(6) EvalError
eval 함수가 올바르게 실행되지 않으면 EvalError 오류가 발생합니다. 이 오류 유형은 더 이상 ES5에 나타나지 않으며 이전 코드와의 호환성을 보장하기 위해서만 유지됩니다.
위의 6개 파생 오류는 원래 Error 개체와 함께 모두 생성자입니다. 개발자는 이를 사용하여 오류 개체의 인스턴스를 인위적으로 생성할 수 있습니다.
new Error("오류가 발생했습니다!");
new RangeError("오류가 발생했습니다. 변수가 유효한 범위를 벗어났습니다!")
new TypeError("오류가 발생했습니다. 변수 유형이 잘못되었습니다!") ;
위 코드는 새로운 오류를 나타냅니다. 객체 인스턴스는 본질적으로 수동으로 오류를 발생시킵니다. 보시다시피 오류 개체의 생성자는 오류 메시지를 나타내는 매개 변수를 받아들입니다.
관련 권장 사항:
Native js는 이동 가능한 프롬프트 div 상자 소스 코드를 구현합니다.
html/css/js는 PHP 초보자와 프로그래머에게 적합합니다. 중국어 매뉴얼
위 내용은 일반적인 JS 오류 유형 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!