JS 條件 - JS異常


switch 語句

switch 語句來選擇多個需被執行的代碼塊之一,匹配是嚴格匹配 ===
default 關鍵詞規定不存在 case 匹配時所運行的代碼

getDay() 方法返回 0 至 6 之間的周名數字(weekday number)
(Sunday=0, Monday=1, Tuesday=2 ..)
本例使用周名數字來計算周的名稱:

switch (new Date().getDay()) {
    case 0:
        day = "星期天";
        break;
    case 1:
        day = "星期一";
         break;
    case 2:
        day = "星期二";
         break;
    case 3:
        day = "星期三";
         break;
    case 4:
        day = "星期四";
         break;
    case 5:
        day = "星期五";
         break;
    case 6:
        day = "星期六";
} 

JS 標籤

如需標記 JavaScript 語句,請將標籤名和冒號置於語句之前:

	label:
	statements

breakcontinue 語句是僅有的可“跳出”代碼塊的 JavaScript 語句

	break labelname;
	continue labelname;

continue 語句(不論有無標籤引用)只能用於跳過一個迭代

break 語句,如果沒有標籤引用,只能用於跳出一個循環或一個 switch

如果有標籤引用,則 break 語句可用於跳出任意代碼塊


constructor 屬性

constructor 屬性返回所有 JavaScript 變量的構造器函數

"Bill".constructor // 返回 "function String() { [native code] }"

typeof 卻不可以去判斷 JavaScript 對象是否是數組(或日期)


類型轉換

把數值轉換爲字符串

  1. 全局方法 String() 能夠把數值轉換爲字符串
    String(x)

  2. 數字方法 toString() 同理
    x.toString()

  3. Boolean() 轉換布爾值爲字符串

toExponential() 返回字符串,對數字進行舍入,並使用指數計數法來寫
toFixed() 返回字符串,對數字進行舍入,並使用指定位數的小數來寫
toPrecision() 返回字符串,把數字寫爲指定的長度

把字符串轉換爲數值

  1. 全局方法 Number() 可把字符串轉換爲數字

  2. 一元的 + 運算符可用於把變量轉換爲數字

	var y = "5";      // y 是字符串
	var x = + y;      // x 是數字

包含數字的字符串(比如 “3.14”)轉換爲數字(比如 3.14)
空的字符串轉換爲 0
其他字符串將轉換爲 NaN
可以轉換布爾值

parseFloat() 解析字符串並返回浮點數
parseInt() 解析字符串並返回整數


位運算

位運算


在這裏插入圖片描述
在這裏插入圖片描述


test() 通過模式來搜索字符串,然後根據結果返回 true 或 false

	var patt = /e/;
	patt.test("The best things in life are free!"); 
	或
	/e/.test("The best things in life are free!");

exec() 通過指定的模式(pattern)搜索字符串,並返回已找到的文本


try 和 catch

try 語句允許定義一個代碼塊,以便在執行時檢測錯誤

catch 語句允許定義一個要執行的代碼塊,如果 try 代碼塊中發生錯誤

throw 語句允許創建自定義錯誤

	throw "Too big";    // 拋出文本
	throw 500;          //拋出數字
  • trycatch 成對出現:
	try {
     	供測試的代碼塊
	}
	catch(err) {
     	處理錯誤的代碼塊
	}
  • 如果把 throwtrycatch 一同使用,就可以控制程序流並生成自定義錯誤消息

本例會檢查輸入。如果值是錯誤的,將拋出異常(err)
該異常(err)被 catch 語句捕獲並顯示一條自定義的錯誤消息

<!DOCTYPE html>
<html>
<body>

<p>請輸入 5 - 10 之間的數字:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">測試輸入</button>
<p id="message"></p>

<script>
function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try { 
        if(x == "") throw "空的";
         if(isNaN(x)) throw "不是數字";
         x = Number(x);
        if(x < 5) throw  "太小";
        if(x > 10) throw "太大";
    }
    catch(err) {
        message.innerHTML = "輸入是 " + err;
    }
}
</script>

</body>
</html> 

finally 語句允許您在 trycatch 之後執行代碼,無論結果

try {
     供測試的代碼塊
}
 catch(err) {
     處理錯誤的代碼塊
} 
finally {
     無論 try / catch 結果如何都執行的代碼塊
}

Error 對象
JavaScript 擁有當錯誤發生時提供錯誤信息的內置 error 對象。
error 對象提供兩個有用的屬性:namemessage

  • name 設置或返回錯誤名
  • message 設置或返回錯誤消息(一條字符串)

在這裏插入圖片描述

  1. 更新版本的 JS 不會拋出任何 EvalError,使用 SyntaxError 代替
  2. RangeError 會在使用了合法值的範圍之外的數字時拋出
  3. 假如使用(引用)了尚未聲明的變量,則 ReferenceError 會被拋出
  4. 假如計算帶語法錯誤的代碼,會 SyntaxError 被拋出
  5. 假如使用的值不在期望值的範圍之內,則 TypeError 被拋出
  6. 假如在 URI 函數中使用非法字符,則 URIError 被拋出

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章