欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js基石系列學(xué)習(xí)之錯(cuò)誤類(lèi)型

 更新時(shí)間:2023年05月09日 09:43:39   作者:jimmy_fx  
這篇文章主要為大家介紹了js基石系列學(xué)習(xí)之錯(cuò)誤類(lèi)型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

js系列大綱

在使用 JavaScript 時(shí),我們可能會(huì)遇到各種各樣的錯(cuò)誤,那你知道 JavaScript 常見(jiàn)的錯(cuò)誤類(lèi)型有哪些嗎?今天就來(lái)看看 JavaScript 中常見(jiàn)的錯(cuò)誤類(lèi)型。

1. SyntaxError

SyntaxError 表示語(yǔ)法錯(cuò)誤。在遇到不符合語(yǔ)言規(guī)范的代碼時(shí)拋出一個(gè)錯(cuò)誤。

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)您在編寫(xiě)一個(gè)函數(shù)時(shí)忘記了括號(hào) ,)來(lái)括起您的代碼,您將收到一個(gè)SyntaxError錯(cuò)誤

function sammy(animal) {
    let animal = 'shark';
}
// output
 Uncaught SyntaxError: Identifier 'animal' has already been declared

當(dāng)函數(shù)參數(shù)和函數(shù)體內(nèi)使用相同的變量名時(shí),您也可能會(huì)遇到此錯(cuò)誤。

2. TypeError

TypeError 表示類(lèi)型錯(cuò)誤。當(dāng)您使用不打算以特定方式使用的東西時(shí),就會(huì)發(fā)生類(lèi)型錯(cuò)誤。例如,用螺絲刀敲釘子,而不是用錘子。

let a = 1
console.log(a()) 
//output
Uncaught TypeError: a is not a function

這a是一個(gè)用值初始化的變量。您遇到了一個(gè)錯(cuò)誤,因?yàn)槟噲D調(diào)用具有變量名稱(chēng)的函數(shù)。變量不能作為函數(shù)調(diào)用。函數(shù)和變量的工作方式不同。所以在這種情況下,你得到了一個(gè)類(lèi)型錯(cuò)誤。您使用的let變量與其類(lèi)型不同。

這給了我們一個(gè)類(lèi)型錯(cuò)誤。

const a = 1
a = 2 // you reassign a const type variable again
//output
TypeError: Assignment to constant variable.

在這里,我們將const類(lèi)型變量重新分配a給一個(gè)新值。但是你不能像這樣改變 const 變量,所以在這種情況下你會(huì)得到一個(gè)類(lèi)型錯(cuò)誤

3. ReferenceError

ReferenceError 表示引用錯(cuò)誤。當(dāng)找不到變量的引用、在變量作用域范圍之外使用變量、使用未聲明的變量時(shí)、在暫時(shí)性死區(qū)期間使用變量時(shí)都會(huì)拋出此錯(cuò)誤。

let a = 1
console.log(b) // undefined variable used
//output
Uncaught ReferenceError: b is not defined

這里,a是一個(gè)用值初始化的變量。我們遇到了一個(gè)錯(cuò)誤,因?yàn)槲覀冊(cè)噲D控制臺(tái)記錄b不存在的變量。我們還沒(méi)有聲明任何這樣的變量,所以我們?cè)谶@里得到了一個(gè)引用錯(cuò)誤。

if(true){
    let a = 1
}
console.log(a)
//output
ReferenceError: a is not defined

在這個(gè)例子中,我們?cè)噲D訪問(wèn)其塊外的a類(lèi)型變量let。解釋器無(wú)法在塊外找到它。這給了我們一個(gè)錯(cuò)誤。

4. RangeError

RangeError 表示范圍錯(cuò)誤。將變量設(shè)置在其限定的范圍之外、將值傳遞給超出范圍的方法、調(diào)用一個(gè)不會(huì)終止的遞歸函數(shù)時(shí)就會(huì)拋出此錯(cuò)誤。

5. URIError

URIError 表示 URI錯(cuò)誤。當(dāng) URI 的編碼和解碼出現(xiàn)問(wèn)題時(shí),會(huì)拋出 URIError。JavaScript 中的 URI 操作函數(shù)包括:decodeURIdecodeURIComponent 等。如果使用了錯(cuò)誤的參數(shù)(無(wú)效字符),就會(huì)拋出 URIError。

以上就是js基石系列學(xué)習(xí)之錯(cuò)誤類(lèi)型的詳細(xì)內(nèi)容,更多關(guān)于js基石錯(cuò)誤類(lèi)型的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論