JavaScript常见错误类型

学习网站:http://www.vuexx.com/
我们在做JavaScript开发的时候难免会遇到各种报错,今天我们就来学习一下JavaScript中的常见错误类型。

常见错误类型

  • SyntaxError解析错误
  • ReferenceError引用错误
  • RangeError范围错误
  • TypeError类型错误
  • URIError统一资源标识符函数错误
  • EvalError eval()函数执行错误
  • InternalError内部错误

SyntaxError解析错误

代表尝试解析语法上不合法的代码的错误

描述:这个报错是由于我们的语法规则书写不正确造成的,比如变量命名不规范,函数书写不正确等。

//变量不能以数字开头
var 3344a = 100;
//函数缺少小括号
function fn {}

ReferenceError引用错误

表明一个不存在的变量被引用

描述:当你尝试引用一个未被定义的变量时,将会抛出一个 ReferenceError

var a = 100;
//这定义的a,但是打印的是b,由于b没有声明和赋值,那么会提示ReferenceError引用错误
console.log(b);//提示:b is not definded
function fn() {
      console.log("fn");
}
fn1();//定义的方法名是fn,调用fn1,也会提示ReferenceError引用错误,fn1 is not definded

RangeError范围错误

当一个值不在其所允许的范围或者集合中

描述:当试图传递一个不合法的数字到数组的构造函数时,或者是传递一个number参数给一个范围内不包含该number的函数时,都会引发RangeError

//这里传递一个不合法的负数,当做数组的长度,会报错RangeError
var arr = new Array(-2);

//number方法容易出现RangeError的有:
//toPrecision() 方法以指定的精度返回该数值对象的字符串表示
//toFixed() 方法使用定点表示法来格式化一个数
//toExponential() 方法以指数表示法返回该数值字符串表示形式

(5).toExponential(150);
//报错RangeError: toExponential() argument must be between 0 and 100

TypeError类型错误

用来表示值的类型非预期类型时发生的错误

描述:当传入函数的操作数或参数的类型并非操作符或函数所预期的类型时,将抛出一个 TypeError 类型错误

var a = 100;
//把a当做函数去调用,会报错Uncaught TypeError: a is not a function
a();

URIError统一资源标识符函数错误

用来表示以一种错误的方式使用全局URI处理函数而产生的错误

描述:当向全局URI处理函数传递一个错误的URI时,一个URIError错误会被抛出。
涉及的函数有:encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()

EvalError eval()函数执行错误

代表了一个关于evel函数的错误.此异常不再会被JavaScript抛出,但是EvalError对象仍然保持兼容性.

描述:该错误类型已经在ES5中不使用了,只是为了保证与以前代码兼容,才继续保留。

InternalError内部错误

表示出现在JavaScript引擎内部的错误。 例如: "InternalError: too much recursion"(内部错误:递归过深)

描述:非标准特性,请尽量不要在开发环境中使用它!
学习网站:http://www.vuexx.com/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  •   由于 JavaScript 本身是动态语言,而且多年来一直没有固定的开发工具,因此人们普遍认为它是一种最难于调...
    霜天晓阅读 774评论 0 1
  • 注:本文最后更新时间:2017/03/06 前言:最近在重新翻看《你不知道的 JavaScript 》,在作用域一...
    卿可津阅读 892评论 0 0
  • Error 实例对象 JavaScript 解析或运行时,一旦发生错误,引擎就会抛出一个错误对象。JavaScri...
    许先生__阅读 253评论 0 1
  • 是不是写字太少,表达能力就会退化,感觉现在自己写的东西,连初中的水平都达不到。
    云上花阅读 154评论 0 0