Home  >  Article  >  Web Front-end  >  Summary of six error types in JavaScript

Summary of six error types in JavaScript

黄舟
黄舟Original
2017-09-22 09:35:451576browse

This article gives you a detailed introduction to the six error types in JavaScript. Friends who need it can refer to it

Students who have just entered the front-end pit and are not very good at English are still struggling with the console. Error scratching your head? Today I will take you to take a look at the common error types in JavaScript.

The console error information in js is mainly divided into two categories. The first category is syntax errors. If this type of error is encountered during the pre-parsing process, it will cause the entire js file to fail. implement. Another type of error is collectively called an exception. This type of error will cause the code after the line where the error occurs to be unable to execute, but the code before that line will not be affected.

1. SyntaxError: Syntax error


// 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 : Reference error

An error occurs when referencing a variable that does not exist. Assign a value to an object that cannot be assigned, such as the result of a function or a function assignment.


// 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: Range Error

RangeError occurs when a range error occurs when a range error occurs mistake. There are several main situations. The first is that the array length is a negative number, the second is that the method parameters of the Number object are out of range, and the function stack exceeds the maximum value.


// 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. TypeErrorType error

Occurs when a variable or parameter is not of the expected type mistake. For example, using new primitive types such as strings and Boolean values ​​and calling methods that do not exist in the object will throw this error, because the parameter of the new command should be a constructor.


// 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 error

is mainly caused by incorrect parameters of related functions.


decodeURI("%")     // Uncaught URIError: URI malformed at decodeURI

Errors thrown when URI related parameters are incorrect, mainly involving encodeURI, decodeURI(), encodeURIComponent(), decodeURIComponent(), escape() and unescape() Six functions.

6. EvalError eval() function execution error

In JavaScript below ES5, when the eval() function is not executed correctly , an evalError error will be thrown.

For example, the following situation:


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

It should be noted that this error is no longer thrown in JavaScript above ES5, but it can still be passed through new Keywords to customize this type of error message.

The above 6 derived errors, together with the original Error object, are all constructors. Developers can use them to generate instances of error objects.


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

The first parameter represents the error message, the second is the file name, and the third is the line number.

Summarize

The above is the detailed content of Summary of six error types in JavaScript. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn