總結一下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裡有沒有錯誤外部語句都會執行