我们常常在写JS代码时,运行后会在控制台报错,这些错误分为两大类,第一类是语法错误,会导致整个JS代码无法运行。另一类是错误统称为异常,在那一行之前的代码不受影响。那一行代码之后的代码则无法运行。这两大类错误一共有六种,分别是:
1.SyntaxEorror:语法错误
漏标点符号(例如漏分号,漏&号),多标点符号,拼 写错,等等都会造成这种错。
1.括号是中文的括号
function str(){
var a = 1 ,b = 2;
var sum = a + b
return sum;
}
str()
//Uncaught SyntaxError: Invalid or unexpected token
2.缺少中括号
function str(){
var a = 1 ,b = 2;
var sum = a + b
return sum;
str()
//Uncaught SyntaxError: Unexpected end of input
2. ReferenceError:引用错误
引用一个不存在的变量时发生的错误,讲一个值分配一个无法分配的对象,比如对函数的运行结果或者函数赋值。
1.引用了一个不存在的变量
str();//Uncaught ReferenceError;str is not;
console.log(a);//Uncaught ReferenceError;a is not defined;
2.给一个无法被赋值的对象赋值
console.log("abc") = 1;// Uncaught ReferenceErrorInvaid left-hand side in assignment
3.RangeError:参数范围越界错误
RangeError只超出有效范围时发生的错误
1.数组长度为负数
var arr = [];
arr.length = -1;//Uncaught RangeError: Invalid array length
4.TypeError:类型错误
变量或者参数不是预期类型时发生的错误。比如new字符串,布尔类型等原始类和
调用的参数不存在是的方法就会抛出错误,因为new命令的参数应该是一个构造函数
1.调用的不存在 var
arr =[];
arr.replace();;//Uncaught TypeError: arr.replace is not a function
2.new之后接基本数据类型
var num = new 123;// Uncaught TypeError: 123 is not a constructor
5.URIError:URI错误
主要是相关函数的参数不正确才会发生的错误,这种错误发生的几率比较小就不举例子。
6.EvalError eval()函数执行错误
这种错误在ES5以下的JavaScript中,当eval()函数没有被正确执行时,会抛出EvalError 错误