成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JavaScript學(xué)習(xí)筆記第五天_錯誤處理與

levy9527 / 517人閱讀

摘要:廖雪峰老師的教程學(xué)習(xí)筆記錯誤處理提供了像一樣的錯誤處理機(jī)制,即例如其中不是必須的,也不是必須的,但二者必須有其一,其中是必定會被執(zhí)行的。其中其中函數(shù)將在超時后執(zhí)行。

廖雪峰老師的javascript教程學(xué)習(xí)筆記

1. 錯誤處理

JavaScript 提供了像Java一樣的錯誤處理機(jī)制,即try catch finally.
例如:

try{
    var s = null;
    s.length; // TypeError: Cannot read property "lenght" of null
}catch(err){
    console.log("null pointer" + err);
}finally{
    // clear resource.
}

其中catch不是必須的,finally也不是必須的,但二者必須有其一,其中finally是必定會被執(zhí)行的。

錯誤類型,TypeError繼承于Error,還有ReferenceError等錯誤處理對象,可以通過捕獲到的e,通過instance判斷出的具體的Error類型。

它還允許拋出異常,關(guān)鍵字throw,像java一樣。

var n = "ss";
if(isNaN(n)){
    throw new Error("input error");
}

實際上,JavaScript允許拋出任意對象,包括數(shù)字、字符串。但是,最好還是拋出一個Error對象。

2. 錯誤傳播

向上一層傳遞,就像Java的Exception一樣,Java會把整個調(diào)用棧都會打出來,JS也同樣。

3. 異步錯誤處理

JavaScript引擎是一個事件驅(qū)動的執(zhí)行引擎,代碼總是以單線程執(zhí)行,而回調(diào)函數(shù)的執(zhí)行需要等到下一個滿足條件的事件出現(xiàn)后,才會被執(zhí)行。

function printTime() {
    throw new Error();
}

try {
    setTimeout(printTime, 1000);
    console.log("done");
} catch (e) {
    alert("error");
}

其中window.setTimeout(func, delay, pars...)其中func函數(shù)將在超時后執(zhí)行。由于是異步,所以setTimeout會立即執(zhí)行完成,并執(zhí)行下一句打印log,然后等到超時后,被觸發(fā)執(zhí)行,然后throw error,而這時并不會被catch。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/86511.html

相關(guān)文章

  • JavaScript學(xué)習(xí)五天筆記(作用域)

    摘要:函數(shù)的作用域也可被分為全局作用域和局部作用域函數(shù)作用域被定義在指定函數(shù)內(nèi)部的函數(shù)被稱為局部函數(shù)或內(nèi)部函數(shù)。局部變量在函數(shù)內(nèi)部聲明的變量被成為局部變量,它只能在函數(shù)的內(nèi)部進(jìn)行訪問。 作用域 概述 變量和函數(shù)都具有作用域 作用域就是變量和函數(shù)的可被訪問的范圍 控制著變量和函數(shù)的可見性和生命周期。變量的作用域可被分為全局作用域和局部作用域(函數(shù)作用域) 如果變量是被定義在全局作用域的話 在J...

    Sleepy 評論0 收藏0
  • JavaScript學(xué)習(xí)五天筆記(函數(shù))

    摘要:實參函數(shù)調(diào)用時實際傳入的參數(shù)是函數(shù)的實際參數(shù),簡稱實參。簡單來說,就是調(diào)用函數(shù)時使用的參數(shù)就是實參。函數(shù)用于執(zhí)行以字符串形式出現(xiàn)的代碼。創(chuàng)建的一個的源代碼的字符串表示。對已編碼的統(tǒng)一資源標(biāo)識符進(jìn)行解碼,并返回其非編碼形式。 函數(shù) 概述 函數(shù)是這樣一段JavaScript代碼,它只定義一次,但是可能被執(zhí)行或調(diào)用多次。簡單來說,函數(shù)就是一組可重復(fù)使用的代碼。 定義函數(shù) 定義函數(shù)有兩種方式...

    Code4App 評論0 收藏0
  • 26天學(xué)通前端開發(fā)(配資料)

    摘要:網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知識點羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個前端框架。也可以關(guān)注微信公眾號曉舟報告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤地址在最下方,獲取教程和案例的資料。 前言 好的學(xué)習(xí)方法可以事半功倍,好的學(xué)習(xí)路徑可以指明前進(jìn)方向。這篇文章不僅要寫學(xué)習(xí)路徑,還要寫學(xué)習(xí)方法,還要發(fā)資料,干貨滿滿,準(zhǔn)備接招。 網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知...

    blair 評論0 收藏0
  • HTML

    摘要:目前,中關(guān)村黑馬程序員訓(xùn)練營已成長為行業(yè)學(xué)員質(zhì)量好課程內(nèi)容深企業(yè)滿意的移動開發(fā)高端訓(xùn)練基地,并被評為中關(guān)村軟件園重點扶持人才企業(yè)。黑馬程序員的學(xué)員篩選制度,遠(yuǎn)比現(xiàn)在以上的企業(yè)招聘流程更為嚴(yán)格。系統(tǒng)的學(xué)習(xí)可以參考w3c的教程 web概念概述 * JavaWeb: * 使用Java語言開發(fā)基于互聯(lián)網(wǎng)的項目 * 軟件架構(gòu): 1. C/S: Client/Server 客戶端/服務(wù)...

    Snailclimb 評論0 收藏0
  • 五天 JavaScript單線程詳解

    摘要:若以多線程的方式操作這些,則可能出現(xiàn)操作的沖突。另外,因為是單線程的,在某一時刻內(nèi)只能執(zhí)行特定的一個任務(wù),并且會阻塞其它任務(wù)執(zhí)行。瀏覽器事件觸發(fā)線程事件觸發(fā)線程,當(dāng)一個事件被觸發(fā)時該線程會把事件添加到任務(wù)隊列的隊尾,等待引擎的處理。 首先,說下為什么 JavaScript 是單線程? 總所周知,JavaScript是以單線程的方式運行的。說到線程就自然聯(lián)想到進(jìn)程。那它們有什么聯(lián)系呢? ...

    caiyongji 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<