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 유형 오류
변수나 매개변수가 예상한 유형이 아닐 때 발생하는 오류입니다. 예를 들어, 문자열 및 부울 값과 같은 새로운 기본 유형을 사용하고 객체에 존재하지 않는 메서드를 호출하면 새 명령의 매개 변수가 생성자여야 하기 때문에 이 오류가 발생합니다.
// 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]]]),
첫 번째 매개변수는 오류 메시지를 나타내고, 두 번째 매개변수는 파일 이름, 세 번째 매개변수는 줄 번호를 나타냅니다.
관련 권장 사항:
위 내용은 JavaScript의 6가지 오류 유형 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!