js基石系列學(xué)習(xí)之錯誤類型
js系列大綱
在使用 JavaScript 時(shí),我們可能會遇到各種各樣的錯誤,那你知道 JavaScript 常見的錯誤類型有哪些嗎?今天就來看看 JavaScript 中常見的錯誤類型。
1. SyntaxError
SyntaxError 表示語法錯誤。在遇到不符合語言規(guī)范的代碼時(shí)拋出一個錯誤。
function sammy(animal) { if(animal == 'shark'){ return `I'm cool`; } else { return `You're cool`; } } sammy('shark'; // output Uncaught SyntaxError: missing ) after argument list
例如,當(dāng)您在編寫一個函數(shù)時(shí)忘記了括號 ,)
來括起您的代碼,您將收到一個SyntaxError
錯誤
function sammy(animal) { let animal = 'shark'; } // output Uncaught SyntaxError: Identifier 'animal' has already been declared
當(dāng)函數(shù)參數(shù)和函數(shù)體內(nèi)使用相同的變量名時(shí),您也可能會遇到此錯誤。
2. TypeError
TypeError 表示類型錯誤。當(dāng)您使用不打算以特定方式使用的東西時(shí),就會發(fā)生類型錯誤。例如,用螺絲刀敲釘子,而不是用錘子。
let a = 1 console.log(a()) //output Uncaught TypeError: a is not a function
這a是一個用值初始化的變量。您遇到了一個錯誤,因?yàn)槟噲D調(diào)用具有變量名稱的函數(shù)。變量不能作為函數(shù)調(diào)用。函數(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 表示引用錯誤。當(dāng)找不到變量的引用、在變量作用域范圍之外使用變量、使用未聲明的變量時(shí)、在暫時(shí)性死區(qū)期間使用變量時(shí)都會拋出此錯誤。
let a = 1 console.log(b) // undefined variable used //output Uncaught ReferenceError: b is not defined
這里,a
是一個用值初始化的變量。我們遇到了一個錯誤,因?yàn)槲覀冊噲D控制臺記錄b
不存在的變量。我們還沒有聲明任何這樣的變量,所以我們在這里得到了一個引用錯誤。
if(true){ let a = 1 } console.log(a) //output ReferenceError: a is not defined
在這個例子中,我們試圖訪問其塊外的a
類型變量let
。解釋器無法在塊外找到它。這給了我們一個錯誤。
4. RangeError
RangeError 表示范圍錯誤。將變量設(shè)置在其限定的范圍之外、將值傳遞給超出范圍的方法、調(diào)用一個不會終止的遞歸函數(shù)時(shí)就會拋出此錯誤。
5. URIError
URIError 表示 URI錯誤。當(dāng) URI 的編碼和解碼出現(xiàn)問題時(shí),會拋出 URIError。JavaScript 中的 URI 操作函數(shù)包括:decodeURI
、decodeURIComponent
等。如果使用了錯誤的參數(shù)(無效字符),就會拋出 URIError。
以上就是js基石系列學(xué)習(xí)之錯誤類型的詳細(xì)內(nèi)容,更多關(guān)于js基石錯誤類型的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
淺談javascript:兩種注釋,聲明變量,定義函數(shù)
下面小編就為大家?guī)硪黄獪\談javascript:兩種注釋,聲明變量,定義函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09javascript學(xué)習(xí)筆記(二) js一些基本概念
javascript學(xué)習(xí)筆記之js一些基本概念,學(xué)習(xí)js的朋友可以參考下2012-06-06Javascript動態(tài)引用CSS文件的2種方法介紹
這篇文章主要介紹了Javascript動態(tài)加載CSS文件的2種方法,經(jīng)常使用和非常實(shí)用的方法,需要的朋友可以參考下2014-06-06為JS擴(kuò)展Array.prototype.indexOf引發(fā)的問題及解決辦法
這篇文章主要介紹了為JS擴(kuò)展Array.prototype.indexOf引發(fā)的問題及解決辦法,需要的朋友可以參考下2015-01-01Javascript基礎(chǔ)教程之break和continue語句
文章通過示例向我們展示了javascript中的break和continue語句,兩個對比起來,非常明了,需要的朋友可以參考下2015-01-01