js基石系列學習之錯誤類型
js系列大綱

在使用 JavaScript 時,我們可能會遇到各種各樣的錯誤,那你知道 JavaScript 常見的錯誤類型有哪些嗎?今天就來看看 JavaScript 中常見的錯誤類型。
1. SyntaxError
SyntaxError 表示語法錯誤。在遇到不符合語言規(guī)范的代碼時拋出一個錯誤。
function sammy(animal) {
if(animal == 'shark'){
return `I'm cool`;
} else {
return `You're cool`;
}
}
sammy('shark';
// output
Uncaught SyntaxError: missing ) after argument list
例如,當您在編寫一個函數(shù)時忘記了括號 ,)來括起您的代碼,您將收到一個SyntaxError錯誤
function sammy(animal) {
let animal = 'shark';
}
// output
Uncaught SyntaxError: Identifier 'animal' has already been declared
當函數(shù)參數(shù)和函數(shù)體內使用相同的變量名時,您也可能會遇到此錯誤。
2. TypeError
TypeError 表示類型錯誤。當您使用不打算以特定方式使用的東西時,就會發(fā)生類型錯誤。例如,用螺絲刀敲釘子,而不是用錘子。
let a = 1 console.log(a()) //output Uncaught TypeError: a is not a function
這a是一個用值初始化的變量。您遇到了一個錯誤,因為您試圖調用具有變量名稱的函數(shù)。變量不能作為函數(shù)調用。函數(shù)和變量的工作方式不同。所以在這種情況下,你得到了一個類型錯誤。您使用的let變量與其類型不同。
這給了我們一個類型錯誤。
const a = 1 a = 2 // you reassign a const type variable again //output TypeError: Assignment to constant variable.
在這里,我們將const類型變量重新分配a給一個新值。但是你不能像這樣改變 const 變量,所以在這種情況下你會得到一個類型錯誤
3. ReferenceError
ReferenceError 表示引用錯誤。當找不到變量的引用、在變量作用域范圍之外使用變量、使用未聲明的變量時、在暫時性死區(qū)期間使用變量時都會拋出此錯誤。
let a = 1 console.log(b) // undefined variable used //output Uncaught ReferenceError: b is not defined
這里,a是一個用值初始化的變量。我們遇到了一個錯誤,因為我們試圖控制臺記錄b不存在的變量。我們還沒有聲明任何這樣的變量,所以我們在這里得到了一個引用錯誤。
if(true){
let a = 1
}
console.log(a)
//output
ReferenceError: a is not defined
在這個例子中,我們試圖訪問其塊外的a類型變量let。解釋器無法在塊外找到它。這給了我們一個錯誤。
4. RangeError
RangeError 表示范圍錯誤。將變量設置在其限定的范圍之外、將值傳遞給超出范圍的方法、調用一個不會終止的遞歸函數(shù)時就會拋出此錯誤。

5. URIError
URIError 表示 URI錯誤。當 URI 的編碼和解碼出現(xiàn)問題時,會拋出 URIError。JavaScript 中的 URI 操作函數(shù)包括:decodeURI、decodeURIComponent 等。如果使用了錯誤的參數(shù)(無效字符),就會拋出 URIError。

以上就是js基石系列學習之錯誤類型的詳細內容,更多關于js基石錯誤類型的資料請關注腳本之家其它相關文章!
相關文章
淺談javascript:兩種注釋,聲明變量,定義函數(shù)
下面小編就為大家?guī)硪黄獪\談javascript:兩種注釋,聲明變量,定義函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
Javascript動態(tài)引用CSS文件的2種方法介紹
這篇文章主要介紹了Javascript動態(tài)加載CSS文件的2種方法,經(jīng)常使用和非常實用的方法,需要的朋友可以參考下2014-06-06
為JS擴展Array.prototype.indexOf引發(fā)的問題及解決辦法
這篇文章主要介紹了為JS擴展Array.prototype.indexOf引發(fā)的問題及解決辦法,需要的朋友可以參考下2015-01-01
Javascript基礎教程之break和continue語句
文章通過示例向我們展示了javascript中的break和continue語句,兩個對比起來,非常明了,需要的朋友可以參考下2015-01-01

