>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 6가지 오류 유형에 대한 자세한 설명

JavaScript의 6가지 오류 유형에 대한 자세한 설명

韦小宝
韦小宝원래의
2018-01-15 11:25:501910검색

이 글에서는 JavaScript의 6가지 오류 유형에 대해 자세히 소개합니다. 이제 막 프론트엔드에 입문했고 영어도 잘 못하는 학생들이 아직도 콘솔 오류 때문에 고민하고 계시나요? 오늘은 JavaScript의 일반적인 오류 유형에 대해 살펴보겠습니다. JavaScript 오류에 대해 익숙하지 않은 경우 이 기사를 함께 읽어보세요. js 콘솔의 오류 정보는 크게 두 가지 범주로 나뉩니다. 카테고리는

구문 오류

입니다. 사전 구문 분석 과정에서 이러한 유형의 오류가 발생하면 전체 js 파일이 실행되지 않습니다. 또 다른 유형의 오류를 집합적으로 예외라고 합니다. 이러한 유형의 오류는 오류가 발생한 줄 뒤의 코드를 실행할 수 없게 만들지 만 해당 줄 앞의 코드는 영향을 받지 않습니다.

1. SyntaxError: 구문 오류

// 1. Syntax Error: 语法错误
// 1.1 变量名不符合规范
var 1       // Uncaught SyntaxError: Unexpected number
var 1a       // Uncaught SyntaxError: Invalid or unexpected token
// 1.2 给关键字赋值
function = 5     // Uncaught SyntaxError: Unexpected token =

2. Uncaught ReferenceError: 참조 오류존재하지 않는 변수를 참조할 때 오류가 발생합니다. 함수의 결과나 함수 할당 등 할당할 수 없는 개체에 값을 할당합니다.

// 2.1 引用了不存在的变量
a()       // Uncaught ReferenceError: a is not defined
console.log(b)     // Uncaught ReferenceError: b is not defined
// 2.2 给一个无法被赋值的对象赋值
console.log("abc") = 1   // Uncaught ReferenceError: Invalid left-hand side in assignment

3. RangeError: 범위 오류 RangeError는 개체가 유효한 범위를 막 벗어난 경우 발생하는 오류입니다. 몇 가지 주요 상황이 있습니다. 첫 번째는 배열 길이가 음수라는 것입니다. 두 번째는 Number 개체의 메서드 매개 변수가 범위를 벗어났고 함수 스택이 최대값을 초과한 것입니다.

// 3.1 数组长度为负数
[].length = -5      // Uncaught RangeError: Invalid array length
// 3.2 Number对象的方法参数超出范围
var num = new Number(12.34)
console.log(num.toFixed(-1))   // Uncaught RangeError: toFixed() digits argument must be between 0 and 20 at Number.toFixed
// 说明: toFixed方法的作用是将数字四舍五入为指定小数位数的数字,参数是小数点后的位数,范围为0-20.

4. TypeError TypeError변수나 매개변수가 예상한 유형이 아닐 때 발생하는 오류입니다. 예를 들어, 새

문자열

, 부울 및 기타 기본 유형을 사용하고 개체에 존재하지 않는 메서드를 호출하면 새 명령의 매개 변수가 생성자 여야 하기 때문에 이 오류가 발생합니다.

// 4.1 调用不存在的方法
123()        // Uncaught TypeError: 123 is not a function
var o = {}
o.run()        // Uncaught TypeError: o.run is not a function
// 4.2 new关键字后接基本类型
var p = new 456      // Uncaught TypeError: 456 is not a constructor

5. URIError, URL 오류 는 주로 관련

함수

의 매개변수가 올바르지 않기 때문에 발생합니다.

decodeURI("%")     // Uncaught URIError: URI malformed at decodeURI
URI 관련 매개변수가 올바르지 않을 때 오류가 발생합니다. 주로 encodeURI, decodeURI(), encodeURIComponent(), decodeURIComponent(), escape() 및 unescape()의 6개 함수와 관련됩니다.

6. EvalError eval() 함수 실행 오류 ES5 이하의 JavaScript에서는 eval() 함수가 제대로 실행되지 않으면 evalError 오류가 발생합니다.

예를 들어 다음 상황은

var myEval = eval;
myEval("alert('call eval')");

ES5 이상의 JavaScript에서는 이 오류가 더 이상 발생하지 않지만 new 키워드를 통해 이러한 유형의 오류 프롬프트를 사용자 정의할 수 있다는 점에 유의해야 합니다.

위의 6개 파생 오류는 원래 Error 개체와 함께 모두 생성자입니다. 개발자는 이를 사용하여 오류 개체의 인스턴스를 생성할 수 있습니다.

new Error([message[,fileName[,lineNumber]]]),

첫 번째 매개변수는 오류 메시지를 나타내고, 두 번째 매개변수는 파일 이름, 세 번째 매개변수는 줄 번호를 나타냅니다.

요약위는 에디터가 소개한 자바스크립트의 6가지 오류 유형입니다. 모두에게 도움이 되었으면 좋겠습니다! !

관련 권장 사항:

JavaScript는 빠른 정렬 분석을 구현합니다

JavaScript는 비동기식으로 더 나은 솔루션 공유를 경험합니다.

javascript는 js에 주석이 달린 정규식 코드와 일치합니다

위 내용은 JavaScript의 6가지 오류 유형에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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