Javascript教學
JavaScript語法
在瀏覽器中啓用JavaScript
在HTML文件放置JavaScript
JavaScript變量和數據類型
JavaScript運算符
JavaScript if...else語句
JavaScript Switch Case
JavaScript while循環
JavaScript for循環
JavaScript for...in 循環
JavaScript循環控制
JavaScript函數
JavaScript嵌套函數
JavaScript Function() 構造
JavaScript函數字面值
JavaScript事件
JavaScript Cookies
JavaScript頁面重定向
JavaScript頁面刷新
JavaScript對話框
JavaScript void關鍵詞
Javascript頁面打印
JavaScript對象
Javascript Number對象
Javascript Number.MAX_VALUE
Javascript Number.MIN_VALUE
Javascript Number.NaN
Javascript Number.NEGATIVE_INFINITY
Javascript Number.POSITIVE_INFINITY
Javascript Object.prototype
Javascript Boolean對象
JavaScript Boolean.constructor()方法
Javascript Boolean.toSource()方法
Javascript Boolean.toString()方法
Javascript Boolean.valueOf()方法
Javascript String對象
Javascript String.constructor屬性
Javascript String.length屬性
Javascript String.charAt()方法
Javascript String.charCodeAt()方法
Javascript String.concat()方法
Javascript String.lastIndexOf()方法
Javascript String.localeCompare()方法
Javascript String.match()方法
Javascript String.replace()方法
Javascript String.search()方法
Javascript String.slice()方法
Javascript String.substr()方法
Javascript String.substring()方法
Javascript String.toLocaleLowerCase()方法
Javascript String.toLocaleUpperCase()方法
Javascript String.toLowerCase()方法
Javascript String.toString()方法
Javascript String.toUpperCase()方法
Javascript String.valueOf()方法
Javascript String.anchor()方法
Javascript String.big()方法
Javascript String.blink()方法
Javascript String.bold()方法
Javascript String.fixed()方法
Javascript String.fontcolor()方法
Javascript String.fontsize()方法
Javascript String.italics()方法
Javascript String.link()方法
Javascript String.small()方法
Javascript String.strike()方法
Javascript String.sub()方法
Javascript String.sup()方法
Javascript Arrays對象
Javascript Array.constructor屬性
Javascript Array.length屬性
Javascript Array.concat()方法
Javascript Array.every()方法
Javascript Array.filter()方法
JavaScript Array.forEach()方法
Javascript Array.indexOf()方法
Javascript Array.join()方法
Javascript Array.lastIndexOf()方法
Javascript Array.map()方法
Javascript Array.pop()方法
Javascript Array.push()方法
Javascript Array.reduce()方法
Javascript Array.reduceRight()方法
Javascript Array.reverse()方法
Javascript Array.shift()方法
Javascript Array.slice()方法
Javascript Array.some()方法
Javascript Array.toSource()方法
Javascript Array.sort()方法
Javascript Array.splice()方法
Javascript Array.toString()方法
Javascript Array.unshift()方法
JavaScript Date對象
Javascript Date.constructor屬性
Javascript Date()函數
Javascript Date.getDate()方法
Javascript Date.getDay()方法
Javascript Date.getFullYear()方法
Javascript Date.getHours()方法
Javascript Date.getMilliseconds()方法
Javascript Date.getMinutes()方法
Javascript Date.getMonth()方法
Javascript Date.getSeconds()方法
Javascript Date.getTime()方法
Javascript Date.getTimezoneOffset()方法
Javascript Date.getUTCDate()方法
Javascript Date.getUTCDay()方法
Javascript Date.getUTCFullYear()方法
Javascript Date.getUTCHours()方法
Javascript Date.getUTCMinutes()方法
Javascript Date.getUTCMonth()方法
Javascript Date.getUTCSeconds()方法
Javascript Date.getYear()方法
Javascript Date.setDate()方法
Javascript Date.setFullYear()方法
Javascript Date.setHours()方法
Javascript Date.setMilliseconds()方法
Javascript Date.getUTCMilliseconds()方法
Javascript Date.setMinutes()方法
Javascript Date.setMonth()方法
Javascript Date.setSeconds()方法
Javascript Date.setTime()方法
Javascript Date.setUTCDate()方法
Javascript Date.setUTCFullYear()方法
Javascript Date.setUTCHours()方法
Javascript Date setUTCMilliseconds()方法
Javascript Date.setUTCMinutes()方法
Javascript Date.setUTCSeconds()方法
Javascript Date.setYear()方法
Javascript Date.toDateString()方法
Javascript Date.toLocaleDateString()方法
Javascript Date.toSource()方法
Javascript Date.toString()方法
Javascript Date.toTimeString()方法
Javascript Date.toUTCString()方法
Javascript Date.valueOf()方法
Javascript Date.parse()方法
Javascript Date.UTC()方法
Javascript Math對象
Javascript Math.E屬性
Javascript Math.LN2屬性
Javascript Math.LN10屬性
Javascript Math.LOG2E,屬性
Javascript Math.LOG10E屬性
Javascript Math.PI屬性
Javascript Math.SQRT1_2屬性
Javascript Math.SQRT2屬性
Javascript Math.abs()方法
Javascript Math.acos()方法
Javascript Math.asin()方法
Javascript Math.atan()方法
Javascript Math.atan2()方法
Javascript Math.ceil()方法
Javascript Math.cos()方法
Javascript Math.exp()方法
Javascript Math.floor()方法
Javascript Math.log()方法
Javascript Math.max()方法
Javascript Math.min()方法
Javascript Math.pow()方法
Javascript Math.random()方法
Javascript Math.round()方法
Javascript Math.sin()方法
Javascript Math.sqrt()方法
Javascript Math.tan()方法
Javascript Math.toSource()方法
正則表達式和RegExp對象
Javascript RegExp.constructor屬性
Javascript RegExp.global屬性
Javascript RegExp.ignoreCase屬性
Javascript RegExp.lastIndex屬性
Javascript RegExp.multiline屬性
Javascript RegExp.source屬性
Javascript RegExp.exec()方法
Javascript RegExp.test()方法
Javascript RegExp.toSource()方法
Javascript RegExp.toString()方法
JavaScript文檔對象模型或DOM
JavaScript傳統DOM
JavaScript W3C DOM
JavaScript IE4 DOM
JavaScript錯誤和異常處理
JavaScript表單驗證
JavaScript動畫
Javascript多媒體

JavaScript錯誤和異常處理

有三種類型的編程錯誤:(1)語法錯誤和(2)運行時錯誤(3)邏輯錯誤:

語法錯誤:

語法錯誤,也被稱爲解析錯誤,在編譯時進行傳統的編程語言,並出現在JavaScript解釋時。

例如,下面一行將導致一個語法錯誤,因爲它缺少一個右括號:

當一個語法錯誤在JavaScript中出現,只有在同一個線程中包含的語法錯誤的影響,在其他線程的代碼被執行;代碼依賴於包含錯誤的代碼不會被執行。

運行時錯誤:

執行(編譯/解釋後)在運行時錯誤,也被稱爲異常,會引發。

例如,下面一行將導致運行時錯誤,因爲這裏的語法是正確的,但在運行時它正試圖調用非存在的方法:

例外情況也影響到它們發生的線程,允許其他JavaScript線程繼續正常執行。

邏輯錯誤:

邏輯錯誤可能是最困難的類型的錯誤跟蹤。這些錯誤是不是一個語法或運行時錯誤的結果。相反,當發生一個錯誤的驅動腳本邏輯,你沒有得到所期望的結果。

你可能無法抓到這些錯誤,因爲這取決於程序是什麼類型的邏輯是基於業務需求。

try...catch...finally 語句:

JavaScript的最新版本中添加的異常處理能力。JavaScript實現 try ... catch... finally結構以及拋出操作來處理異常。

你可以捕獲程序員生成和運行時異常,但不能捕獲JavaScript語法錯誤。

這裏是 try...catch...finally 塊語法:

try塊必須後跟只有一個catch塊或者一個finally塊(或兩者之一)。當一個異常在try塊時,除被放置在e和catch塊被執行。 try/catch語句後的可選finally塊無條件地執行。

示例:

下面是一個例子,我們正試圖調用一個不存在的函數,這將引發異常。讓我們來看看它的行爲,不具有try ... catch:

Click the following to see the result:

現在,讓我們嘗試使用 try ... catch 捕獲這個異常,並顯示一個用戶友好的消息。也可以取消此消息,如果要隱藏從用戶這個錯誤。

Click the following to see the result:

可以使用finally塊將永遠try/catch語句後,無條件地執行。下面是一個例子:

Click the following to see the result:

throw 語句:

可以使用throw語句來提高你的內置異常或自定義異常。後來這些異常可以被捕獲並可以採取適當的行動。

以下是表示throw語句的用法的例子。

Click the following to see the result:

您可以使用字符串,整數,布爾或對象在一個函數拋出一個異常,那麼可以捕捉例外在相同的函數,我們在上面做了,或者使用try ... catch塊在其他的函數。

onerror() 語法

onerror事件處理程序是第一個特點,方便JavaScript處理錯誤。錯誤事件被觸發窗口對象,每當一個異常頁面上出現。例如:

Click the following to see the result:

onerror事件處理程序提供了三條信息,以找出錯誤的確切性質:

  • 錯誤消息 . 瀏覽器將顯示給定的錯誤相同的消息

  • URL . 在發生錯誤的文件

  • 行號. 在導致錯誤的URL給出的行號

這裏是例子來說明如何提取此信息

Click the following to see the result:

可以顯示在任何方式,你覺得這是更好的提取信息。

可以使用onError方法來顯示錯誤消息的情況下沒有在如下加載圖像的任何問題:

可以使用的onerror許多HTML標記錯誤的情況下顯示相應的信息。