JavaScript错误类型

1. Error: 尝试去访问(由于同源策略而导致)无权访问的对象的时候抛出;

这很可能出现在使用 iframe 元素时加载了一个不同域名下的页面

2.InternalError: 内部错误,由于递归次数过于庞大而抛出的错误;

将递归条件设置为一个极大的数值,将不能运行:

function loop(x) {
  if (x >= 1000000000000)
    return;
  // 进行一些操作...
  loop(x + 1);
}
loop(0);

// InternalError: too much recursion
3.RangeError : 范围错误;

超出有效范围

var a= new Array(-1);

Uncaught RangeError: Invalid array length
4.ReferenceError: 引用错误;

a.引用了一个不存在的变量

console.log(a);

Uncaught ReferenceError: a is not defined

b.将变量赋值给一个无法被赋值的对象

console.log()= 1;

Uncaught ReferenceError: Invalid left-hand side in assignment
5.SyntaxError: 语法错误;

解析代码时,发现存在语法错误就抛出这个错误

var 1a;

Uncaught SyntaxError: Unexpected number
6.TypeError: 类型错误;

a.变量或参数不是预期类型,比如,对字符串、布尔值、数值等原始类型的值使用new命令,就会抛出这种错误,因为new命令的参数应该是一个构造函数。

var a= new 123;
Uncaught TypeError: 123 is not a function

b.调用对象不存在的方法

var a;a.aa();

Uncaught TypeError: Cannot read property 'aa' of undefined
6.URIError: URL错误, URI 编码和解码不成功;

与url相关函数参数不正确,主要是encodeURI( )、decodeURI( )、encodeURIComponent ( )、decodeURIComponent( )、escape()和unescape( )这六个函数。

decodeURI('%2')

Uncaught URIError: URI malformed
7.EvalError(eval错误)

eval函数没有被正确执行

8. Warning: 警告,虽然现在代码不影响运行,但是存在隐患就会抛出的错误;

猜你喜欢

转载自blog.csdn.net/qq_39798135/article/details/82348471
今日推荐