ECMA-262 定义了下列 7 种错误类型:
1.Error 错误
2.EvalError 全局错误 eval函数没有正确执行
3.RangeError 范围错误
4.ReferenceError 参数错误 引用了一个不存在的变量
5.SyntaxError 语法错误(标点符号,括号配对等)
6.TypeError 类型错误:表示值的类型非预期类型时发生的错误
7.URIError URI参数错误
涉及到encodeURI、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape();
具体error信息(更新中)
1. XXX is not defined: XXX未定义
举一堆栗子;
变量未声明
console.log(b);
控制台显示:Uncaught ReferenceError: b is not defined
打错单词
conso0le.log(b);
控制台显示: Uncaught ReferenceError: conso0le is not defined
2. XXX is not a function: XXX不是一个函数
给argumments用了数组的方法
function testFn(){
arguments.pop();
} testFn(1,2);
控制台显示: Uncaught TypeError: arguments.pop is not a function
非匿名函数没写函数名
newDiv.onclick = function(){}
控制台显示:Uncaught SyntaxError: Function statements require a function name
3. Uncaught TypeError: catch 语句没有捕获到错误
命名不规范
var 2 = box.offsetTop;
控制台显示: Uncaught SyntaxError: Unexpected number
4. Invalid array length (Chrome)传递了一个不合法的值
5. Invalid or unexpected token: 错误符号(中文标点等)
标点符号不匹配:
wrap.innerHTML = "<div style = "background : orange">this is a div</div>";
控制台显示:Uncaught SyntaxError: Unexpected identifier;
6. Identifier XXX has already been declared:重复声明变量
(var声明不会error,尽管这样,也不推荐重新声明变量)
7. Invalid left-hand side in assignment: 运算符左侧的值不合法