成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript學習筆記第五天_錯誤處理與

levy9527 / 488人閱讀

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

廖雪峰老師的javascript教程學習筆記

1. 錯誤處理

JavaScript 提供了像Java一樣的錯誤處理機制,即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類型。

它還允許拋出異常,關鍵字throw,像java一樣。

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

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

2. 錯誤傳播

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

3. 異步錯誤處理

JavaScript引擎是一個事件驅動的執(zhí)行引擎,代碼總是以單線程執(zhí)行,而回調函數(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。

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

轉載請注明本文地址:http://systransis.cn/yun/86511.html

相關文章

  • JavaScript學習五天筆記(作用域)

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

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

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

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

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

    blair 評論0 收藏0
  • HTML

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

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

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

    caiyongji 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<