1、SyntaxError (语法错误)
输入不规范,或者变量命令等不规范。
// 缺少符号
console.log ('hello';
// Uncaught SyntaxError: missing ) after argument list
// 变量错误
// Uncaught SyntaxError: Invalid or unexpected token
var 1a = 'test'
// JSON.parse 参数不合法
// Uncaught SyntaxError: Unexpected end of JSON input
JSON.parse('')
2、ReferenceError (引用错误)
引用不存在的变量,将一个 undefined 变量赋值的时候,
// test 未定义,也就是未分配栈地址
// Uncaught ReferenceError: test is not defined
var t = test;
3、TypeError (类型错误)
// 类型调用错误
// Uncaught TypeError: Object.test is not a function
// test 未定义,应该是undefined,这里作为函数调用
Object.test()
// undefined 上面引用某一个属性
// Uncaught TypeError: Cannot read property 'a' of undefined
var test = undefined;
var t = test.a;
var test = {}
var t = test.test.a;
// null 上面引用某一个属性(虽然 null typeof 是对象,但是也会报错)
// Uncaught TypeError: Cannot read property 'a' of null
var test = null
var t = test.a
4、RangeError (范围越界错误)/ URIError (URI不正确)
// Uncaught RangeError: Invalid array length
new Array(-1)
// Uncaught URIError: URI malformed
decodeURI('%dfd')