首頁 > web前端 > js教程 > 主體

JS 常見的錯誤類型 小結

韦小宝
發布: 2017-11-25 09:48:47
原創
1404 人瀏覽過

在寫js程式碼時出現錯誤是領頭痛的,對於一個js剛入門的小白來說,js出現錯誤可能要找上很久,心態都蹦了。讓我們一起來看看這篇文章吧

js常見錯誤類型

#(1)SyntaxError

SyntaxError是解析程式碼時發生的語法錯誤

// 變數名稱錯誤 

var 1a;


//缺少括號 
console.log 'hello');


(2)ReferenceError

ReferenceError是引用一個不存在的變數時發生的錯誤。

unknownVariable 

// ReferenceError: unknownVariable is not defined

另一個觸發場景是,將一個值分配給無法分配的對象,例如對函數的運行結果或者this賦值。

console.log() = 1 

// ReferenceError: Invalid left-hand side in assignment 

this = 1 

#// ReferenceError: Invalid left-hand side in assignment

上面程式碼對函數console.log的運行結果和this賦值,結果都引發了ReferenceError錯誤

(3)RangeError

#RangeError是當一個值超出有效範圍時發生的錯誤。主要有幾種情況,一是陣列長度為負數,二是Number物件的方法參數超出範圍,以及函數堆疊超過最大值。

new Array(-1) 

// RangeError: Invalid array length 

(1234).toExponential(21) 

// RangeError: toExponential () argument must be between 0 and 20

(4)TypeError

TypeError是變數或參數不是預期類型時發生的錯誤。例如,對字串、布林值、數值等原始類型的值使用new指令,就會拋出這種錯誤,因為new指令的參數應該是建構子。

new 123 

//TypeError: number is not a func 

var obj = {}; obj.unknownMethod() 

#// TypeError: undefined is not a function

上面程式碼的第二種情況,呼叫物件不存在的方法,會拋出TypeError錯誤。

(5)URIError

URIError是URI相關函數的參數不正確時拋出的錯誤,主要涉及encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape ()和unescape()這六個函數。

decodeURI('%2') 

// URIError: URI malformed

(6)EvalError

#eval函數沒有正確執行時,會拋出EvalError錯誤。這個錯誤類型已經不再在ES5中出現了,只是為了確保與先前程式碼相容,才繼續保留。

以上這6種衍生錯誤,連同原始的Error對象,都是建構子。開發者可以使用它們,人為產生錯誤物件的實例。

new Error("出錯了!"); 
new RangeError("出錯了,變數超出有效範圍!"); 
new TypeError("出錯了,變數類型無效!") ;

上面程式碼表示新建錯誤物件的實例,實質就是手動拋出錯誤。可以看到,錯誤物件的建構子接受一個參數,代表錯誤提示訊息(message)。

相關推薦:

#前端JS面試題

#原生js實作可移動的提示div框原始碼

適合PHP初學者和程式設計師的html/css/js 中文手冊

以上是JS 常見的錯誤類型 小結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板