JavaScript 프로그램 오류 유형은 1. 오류, 2. EvalError, 4. ReferenceError(참조 오류), 6. TypeError,
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
JavaScript의 오류 유형
ECMA-262에서는 7가지 오류 유형을 정의합니다.
ReferenceError
SyntaxError
TypeError
URIError
여기서 Error는 기본 유형(다른 6개 유형의 상위 유형)이고 다른 유형은 이로부터 상속됩니다. 오류 유형은 드물며 일반적으로 브라우저에서 사용됩니다.
브라우저에 의해 던져졌습니다. 이 기본 유형은 주로 개발자가 사용자 정의 오류를 발생시키는 데 사용됩니다.
var 1 // Uncaught SyntaxError: Unexpected number var 1a // Uncaught SyntaxError: Invalid or unexpected token
function = 5 // Uncaught SyntaxError: Unexpected token =
2. 오류( 참조 오류):
존재하지 않는 변수를 참조할 때 오류가 발생합니다. 함수의 결과나 할당할 수 없는 개체에 값을 할당합니다. 기능 할당.a(); // Uncaught ReferenceError: a is not defined console.log(b); // Uncaught ReferenceError: b is not defined
console.log("abc") = 1 // Uncaught ReferenceError: Invalid left-hand side in assignment
RangeError는 유효한 개체가 초과합니다. 범위 중에 오류가 발생했습니다. 몇 가지 주요 상황이 있습니다. 첫 번째는 배열 길이가 음수라는 것입니다. 두 번째는 Number 객체의 메서드 매개변수가 범위를 벗어났고, 함수 스택이 최대 크기를 초과한 것입니다.
[].length = -5; // Uncaught RangeError: Invalid array length
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.
변수 또는 매개 변수가 있을 때 발생하는 오류입니다. 예상된 유형이 아닙니다. 예를 들어 새 문자열, 부울 및 기타 기본 유형을 사용하고 호출 객체가 존재하지 않습니다. 새 명령의 매개변수가 생성자여야 하므로 메서드에서 이 오류가 발생합니다.
123(); // Uncaught TypeError: 123 is not a function var o = {}; o.run(); // Uncaught TypeError: o.run is not a function
var p = new 456(); // Uncaught TypeError: 456 is not a constructor
주로 관련 기능이 올바르지 않습니다.
decodeURI("%"); // Uncaught URIError: URI malformed at decodeURI
::: 팁 알림: 주로 encodeURI, decodeURI(), 6개의 함수: encodeURIComponent(), decodeURIComponent(), escape() 및 unescape(). :::
6. EvalError eval() (함수 실행 오류): ES5 이하의 JavaScript에서는 eval() 함수가 올바르게 실행되지 않으면 evalError 오류가 발생합니다. 예를 들어 다음 상황:
var myEval = eval; myEval("alert('call eval')"); 需要注意的是:ES5以上的JavaScript中已经不再抛出该错误,但依然可以通过new关键字来自定义该类型 的错误提示。로그인 후 복사
new Error("出错了!"); new RangeError("出错了,变量超出有效范围!"); new TypeError("出错了,变量类型无效!");
위 코드는 새로운 오류 개체의 인스턴스를 나타냅니다. 핵심은 오류를 수동으로 발생시키는 것입니다. 보시다시피, 오류 객체의 생성자는 오류 메시지(message)를 나타내는 매개변수입니다. 이러한 기본 오류 유형을 숙지하면 오류 발생 시 문제를 빠르게 찾아 해결할 수 있습니다.
【추천 학습:
위 내용은 JavaScript 프로그램 오류의 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!