总结一下JavaScript编程中会遇见的错误类型
JavaScript错误信息类型
1、SyntaxError 语法错误
变量名不规范
var 1 = 1;
var 1ag = 1;
关键字赋值
new = 5;
function = 1;
基本的语法错误
var a = 5:
2、ReferenceError 引用错误
变量或者函数未被声明
test();
console.log(a);
给无法被赋值的对象赋值的时候
var a = 1 = 2;
var a = 1;
console.log(a) = 1;
3、RangeError 范围错误
数组长度赋值为负数
var arr = [1,2,3,,,,];
arr.length = -1;
console.log(arr);
对象方法参数超出可行范围
var num = new Number(66.66);
console.log(num.toFixed(-1));
4、TypeError 类型错误
调用不存在的方法
123();
var obj = {};
obj.say();
实例化原始值
var a = new 'string';
var a = new 123;
5、URIError URI错误
URI :UNIFORM RESOURCE IDENTIFIER
统一资源标识符
URL:UNIFORM RESOURCE LOCATOR
统一资源定位符
ERN:UNIFORM RESOURCE NAME
统一资源名称
URL: http://www.baidu.com/news#today
ftp://www.baidu.com/ftp#developer
URN: www.baidu.com/ftp#developer ->ID
href = "tel:13900000000"
href = "mailto:4235345@qq.com"
var myUrl = 'http://www.baidu.cin?name=崔立娟';
var newUrl = encodeURI(myUrl);
var newNewUrl = decodeURI(newrl)
var str = decodeURI('%fjdlafkjdls%')
6、EvalError eval函数执行错误
eval不推荐用,几乎没人用了
var err = new Error()
每种错误都对应构造类型
如:var err = new TypeError()
json字符串和json对象不可以嵌入方法
系统自动为我们抛出错误
手动抛出错误方法:try catch finally throw
var jsonStr = '';
try{
if(jsonStr == ''){ throw 'JSON字符串为空,e会变成这里的内容' }
}catch(e){
console.log(e.name + ':' + e.message)
}finally{
//不管try里有没有错误 finally里的语句必须执行
}
//不管try里有没有错误外部语句都会执行