1. 程式人生 > >Javascript基礎(四)

Javascript基礎(四)

十. try catch語句(測試程式碼中的錯誤,在 IE5+、Mozilla 1.0、和 Netscape 6 中可用)

也可使用onerror事件捕獲錯誤(老式方法,Netscape3以後的版本可用)

try{
throw  12345;//操作符,用於隨時丟擲錯誤,必須指定一個值
 //可能會出錯的程式碼
}catch(error){
 //在錯誤發生時怎麼處理,會接受到包含錯誤資訊的物件,不用也要起名字
}finally{
 //可選子句,無論如何,都會執行finally語句
}

try中任何程式碼發生錯誤,會立即退出程式碼執行過程,然後接著執行catch塊。catch接收到的物件資訊因瀏覽器不同而不同,但都會包含message

屬性,唯一保證所有瀏覽器都支援的屬性。跨瀏覽器時使用message屬性

錯誤型別 當錯誤發生時,會丟擲相應的錯誤物件,即Error.name

  • Error:基型別,其他錯誤都繼承該型別,主要供開發人員丟擲自定義錯誤,很少見
  • EvalError:eval()函式使用異常,即使用方式與定義的不相同
  • RangeError:數值超出了相應範圍時觸發
  • ReferenceError:找不到物件時觸發,在訪問不存在的變數時會出現這種錯誤
  • SyntaxError:把語法錯誤的JS字串傳入eval(),eval()計算 JavaScript 字串,並把它作為指令碼程式碼來執行。
  • TypeError:在JS中經常用到
    ,執行特定的操作時,變數的型別不符合要求,傳遞給函式的引數未檢查,傳入型別與預期型別不符
  • URIError:在使用encodeURI()或decodeURI(),而URI格式不正確時,就會導致URIError錯誤,很少見

十一. 自定義屬性

自定義屬性就是定義元素本身不存在的屬性。JS可以為任何HTML元素新增屬性,且如同元素的本來屬性操作

js中DOM的自定義屬性方法有:

  • 設定自定義屬性:setAttribute
  • 獲取自定義屬性:getAttribute
  • 移出自定義屬性:removeAttribute

自定義屬性-索引值 參考網址 例項

十二. setTimeout和setInterval的區別(都屬於window全域性物件)

setTimeout(延遲毫秒數執行程式碼)

window.setTimeout("js程式碼,函式等",毫秒數);

clearTimeout():用於清除setTimeout()方法的函式程式碼

setInterval(間隔指定的毫秒數迴圈執行程式碼)

window.setInterval("js程式碼,函式等",毫秒數);

clearInterval():用於清除setInterval()方法執行的函式

兩者都返回定時器物件識別符號