>  기사  >  웹 프론트엔드  >  자바스크립트의 오류 유형은 무엇입니까?

자바스크립트의 오류 유형은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-10-14 17:04:182468검색

Javascript 오류 유형은 다음과 같습니다. 1. 오류; 3. EvalError; 5. ReferenceError 7. TypeError;

자바스크립트의 오류 유형은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

ECMS에는 다음 8가지 오류 유형이 정의되어 있으며 오류가 발생하면 다양한 오류 개체가 발생합니다.

  • Error

  • InternalError

  • EvalError

  • RangeError

  • ReferenceError

  • SyntaxError

  • TypeError

  • URIError

1. Error

Error가 기본 유형이고, 다른 오류 유형은 이 유형을 상속하므로 모든 오류 유형은 동일한 속성을 공유합니다. 객체에는 이 기본 유형으로 정의된 모든 메소드가 있습니다. Error是基类型,其他错误类型都是继承该类型,因此,所有错误类型都是共享相同的属性(所有错误对象上的方法都是这个默认类型定义的方法)。浏览器很少会抛出Error类型的错误,该类型主要用于开发者抛出自定义错误。

例如拦截器/导航守卫中经常会使用到。

자바스크립트의 오류 유형은 무엇입니까?

二、InternalError

InternalError类型的错误会在底层JavaScript引擎抛出异常时由浏览器抛出。例如,递归过多导致了栈溢出。这类型并不是代码中通常要处理的错误,如果真的发生了这种错误,很可能代码哪里弄错了或者有危险。

三、EvalError

EvalError类型错误会在使用eval()函数发生异常时抛出。ECMA-262规定,'如果eval属性没有被直接调用(就是没有将其名称作为一个Identifier(标识符),也就是CallExpression中的MemberExpression)。

基本上,只要不把eval()当成函数调用就会报错。

不同浏览器抛出的错误会有差异,但很少会这么使用,所以平时不常见

자바스크립트의 오류 유형은 무엇입니까?

四、RangeError

RangeError会在数值越界时抛出。例如,定义数组时如果设置了不支持的长度,如-20。又或者没有给递归设置停止条件时触发。

该类型在JavaScript发生不多

자바스크립트의 오류 유형은 무엇입니까?

자바스크립트의 오류 유형은 무엇입니까?

五、ReferenceError

ReferenceError会在找不到对象时发生。(就是著名的"object expected"浏览器错误的原因)。这种错误经常是由访问不存在的变量而导致。

例:

자바스크립트의 오류 유형은 무엇입니까?

六、SyntaxError

经常在给eval()传入的字符串包含JavaScript语法错误时发生,在eval()外部很少会用到该类型错误。这是因为JavaScript代码中的语法错误会导致代码无法执行。

七、TypeError

TypeErrorJavaScript中很常见,主要发生变量不是预期类型,或者访问不存在的方法时等原因导致,尤其是在使用类型特定的操作而变量类型不对时。

在给函数传参前没有验证的情况下,错误频繁发生

자바스크립트의 오류 유형은 무엇입니까?

八、URIError

URIError브라우저는 Error 유형의 오류

를 거의 발생시키지 않습니다. 이 유형은 주로 개발자가

사용자 정의 오류를 발생시키는 데 사용됩니다.

예를 들어 인터셉터/항법 가드에 자주 사용됩니다. 🎜🎜여기에 이미지 설명 삽입🎜🎜2 내부 오류🎜 🎜 기본 JavaScript 엔진에서 예외가 발생하면 브라우저에서 InternalError 유형 오류가 발생합니다. 예를 들어 재귀가 너무 많으면 스택 오버플로가 발생합니다. 이러한 유형의 오류는 일반적으로 코드에서 처리되지 않습니다. 🎜이런 종류의 오류가 발생하면 코드가 잘못되었거나 위험할 가능성이 높습니다. 🎜🎜🎜3. EvalError🎜🎜EvalError 유형 오류는 eval() 함수를 사용하여 예외가 발생하면 발생합니다. ECMA-262에서는 'eval 속성이 직접 호출되지 않는 경우(즉, 해당 이름이 Identifier(식별자)로 사용되지 않는 경우, 즉 <code>MemberExpression의 CallExpression). 🎜🎜기본적으로 eval()이 함수 호출로 간주되지 않는 한 오류가 보고됩니다. 🎜🎜🎜브라우저마다 발생하는 오류는 다르지만 이런 방식으로 사용되는 경우는 거의 없으므로 평소에는 일반적이지 않습니다🎜🎜🎜여기에 이미지 설명 삽입🎜🎜4. RangeError🎜🎜RangeError는 값이 범위를 벗어나면 발생합니다. 예를 들어 배열을 정의할 때 -20과 같이 지원되지 않는 길이를 설정한 경우입니다. 또는 재귀에 대해 중지 조건이 설정되지 않은 경우 트리거될 수 있습니다. 🎜🎜🎜이 유형은 JavaScript🎜🎜🎜여기에 이미지 설명 삽입🎜🎜여기에 삽입 이미지 설명 🎜🎜5. ReferenceError🎜🎜ReferenceError는 개체를 찾을 수 없을 때 발생합니다. (이것이 유명한 "객체 예상" 브라우저 오류의 원인입니다.) 이 오류는 존재하지 않는 변수에 액세스할 때 발생하는 경우가 많습니다. 🎜🎜예: 🎜🎜여기에 이미지 설명 삽입🎜🎜 6 . SyntaxError🎜🎜는 eval()에 전달된 문자열에 JavaScript 구문 오류가 포함된 경우에 자주 발생합니다. 이러한 유형의 오류는 eval() 외부에서는 거의 사용되지 않습니다. 이는 JavaScript 코드의 구문 오류로 인해 코드가 실행되지 않을 수 있기 때문입니다. 🎜🎜7. TypeError🎜🎜🎜TypeErrorJavaScript🎜에서 매우 일반적입니다. 이는 주로 변수가 예상한 유형이 아니거나 존재하지 않는 메소드 때문에 발생합니다. 특히 유형별 작업을 사용하고 변수 유형이 잘못된 경우에 액세스됩니다. 🎜🎜🎜매개변수를 함수에 전달하기 전에 확인하지 않으면 오류가 자주 발생합니다🎜🎜🎜여기에 이미지 설명 삽입🎜🎜8. URIError🎜🎜URIError는 encodeURL() 또는 decodeURL()을 사용했지만 잘못된 형식의 URL이 전달된 경우에만 발생합니다. 그러나 매우 드뭅니다. 위의 두 기능은 매우 강력하기 때문입니다. 🎜🎜【추천 학습: 🎜javascript 고급 튜토리얼🎜】🎜

위 내용은 자바스크립트의 오류 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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