JavaScript program error types are divided into: 1. Error; 2. EvalError; 3. RangeError; 4. ReferenceError (reference error); 5. SyntaxError (syntax error); 6. TypeError; 7. URIError.
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
Error types in JavaScript
ECMA-262 defines 7 error types:
Error
EvalError
1. SyntaxError (syntax error): 1.1 The variable name does not comply with the specification
var 1 // Uncaught SyntaxError: Unexpected number var 1a // Uncaught SyntaxError: Invalid or unexpected token
function = 5 // Uncaught SyntaxError: Unexpected token =
2. Uncaught ReferenceError: refers to a reference that does not exist The error occurred when using the variable. Assign a value to an object that cannot be assigned, such as the result of a function or Function assignment.
2.1 Reference to a non-existent variable
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
3. RangeError (Range Error): RangeError is an error that occurs when a valid range is exceeded. 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 size.
3.1 The array length is a negative 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.
4. TypeError: An error that occurs when a variable or parameter is not of the expected type. For example, using new string, Boolean and other primitive types and the calling object does not exist method will throw this error because the parameter of the new command should be a constructor.
4.1 Calling a non-existent method
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
5. URIError (URL error): The main reason is that the parameters of the related functions are incorrect.
decodeURI("%"); // Uncaught URIError: URI malformed at decodeURICopy after login
6. EvalError eval() (function execution error): In JavaScript below ES5, when eval() When a function is not executed correctly, an evalError is thrown. For example The following situation:
var myEval = eval; myEval("alert('call eval')"); 需要注意的是:ES5以上的JavaScript中已经不再抛出该错误,但依然可以通过new关键字来自定义该类型 的错误提示。Copy after login
new Error("出错了!"); new RangeError("出错了,变量超出有效范围!"); new TypeError("出错了,变量类型无效!");
Be familiar with these basic error types and you can quickly locate and solve the problem when an error occurs. [Recommended learning:
javascript advanced tutorialThe above is the detailed content of What are the types of JavaScript program errors?. For more information, please follow other related articles on the PHP Chinese website!