javascript中error错误类型
javascript中error错误类型
javascript中error错误类型一、Error
基类型,其他错误类型都继承自该类型。因此,所有错误类型共享了一组相同的属性。Error类型的错误很少见,如果有也是浏览器抛出的;这个基类型的主要目的是供开发人员抛出自定义错误
二、EvalError (eval错误)
eval函数没有被正确执行时,会抛出EvalError错误。该错误类型已经不再在ES5中出现了,只是为了保证与以前代码兼容,才继续保留
三、RangeError (范围错误)
RangeError类型的错误会在一个值超出相应范围时触发,主要包括超出数组长度范围以及超出数字取值范围等,例如:数组长度为负数、Number对象的方法参数超出范围、函数堆栈超过最大值
new Array(-1);//Uncaught RangeError: Invalid array length
new Array(Number.MAX_VALUE);//Uncaught RangeError: Invalid array length
(1234).toExponential(21);//Uncaught RangeError: toExponential() argument must be between 0 and 20
(1234).toExponential(-1);////Uncaught RangeError: toExponential() argument must be between 0 and 20
四、ReferenceError (引用错误)
1、引用一个不存在的变量时,会触发ReferenceError(引用错误)
a;//Uncaught ReferenceError: a is not defined
1++;//Uncaught ReferenceError: Invalid left-hand side expression in postfix operation
2、另一种触发场景是,将一个值分配给无法分配的对象,比如对函数的运行结果或者this赋值。
console.log() = 1 // ReferenceError: Invalid left-hand side in assignment
this = 1 // ReferenceError: Invalid left-hand side in assignment
五、SyntaxError (语法错误)
当不符合语法规则时,会抛出SyntaxError(语法错误)
//变量名错误
var 1a;//Uncaught SyntaxError: Unexpected number
// 缺少括号
console.log 'hello');//Uncaught SyntaxError: Unexpected string
六、TypeError (类型错误)
1、在变量或参数不是预期类型时,或者在访问不存在的方法时 都会导致TypeError类型错误。
2、比如,对字符串、布尔值、数值等原始类型的值使用new命令,就会抛出这种错误,因为new命令的参数应该是一个构造函数。
var o = new 10;//Uncaught TypeError: 10 is not a constructor
var obj = {}; obj.unknownMethod() // TypeError: undefined is not a function
alert('name' in true);//Uncaught TypeError: Cannot use 'in' operator to search for 'name' in true
Function.prototype.toString.call('name');//Uncaught TypeError: Function.prototype.toString is not generic
七、URIError (URI错误)
URIError是URI相关函数的参数不正确时抛出的错误,主要涉及encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()这六个函数。
decodeURI('%2');// URIError: URI malformed
- 生成随机数javascript(JavaScript实现随机生成验证码及校验)
- javascript函数工具有哪些(如何让你的JavaScript函数更加优雅详解)
- javascript如何实现异步任务(JavaScript 中如何实现并发控制)
- javascript的执行原理(一文读懂JavaScript 中的延迟加载属性模式)
- javascript对象添加方法(详解JavaScript面向对象实战之封装拖拽对象)
- js怎么做一个计时器(JavaScript实现简单计时器)
- javascript学习参数(详解JavaScript堆栈与拷贝)
- javascript 数组排序
- javascript函数的递归调用记得加上return
- javascript 开发网站(帮你提高开发效率的JavaScript20个技巧)
- javascript 经典算法(JavaScript实现的七种排序算法总结推荐!)
- JavaScript命名空间
- javascript 函数生命周期(JavaScript sleep睡眠函数的使用)
- js闭包可以解决哪些问题(JavaScript中let避免闭包造成问题)
- javascript组件库实现(JavaScript分页组件使用方法详解)
- 用js编写tab栏切换(JavaScript实现简易tab栏切换内容栏)
- 缅甸旅游攻略(缅甸旅游攻略必去景点推荐)
- 《庆余年2》新消息,原班人马,肖战特别出演,这才是最好的安排(庆余年2新消息原班人马)
- 宁夏灵武恐龙化石发现始末(宁夏灵武恐龙化石发现始末)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
热门推荐
- sqlserver模糊查询使用定义的字段(SQL Server模糊查询的常见方法总结)
- laravel数据返回格式(laravel 关联关系遍历数组的例子)
- mac的mysql连接问题如何解决(MAC 中mysql密码忘记解决办法)
- ftp的使用方法(教你轻松玩转FTP)
- python3知识点汇总(Python3几个常见问题的处理方法)
- iis服务器安装错误(IIS7.0配置过程中出现HTTP 错误 403.14的解决方法)
- dedecms显示问号(dedecms提示你的用户名不存在的解决方法)
- 企业网站服务器怎么选(企业网站服务器租用几个常见问题)
- amaze如何创建作品(AmazeUI 网格的实现示例)
- dede检测写入权限(dede织梦dede5.7上传图片出现302以及Error 2038问题解决方法)