javascript学习(3):使用多级条件switch,处理错误try/throw/catch



这段HTML 建立多级条件的页面
<!DOCTYPE html>
<html>
<head>
<title>Switch/Case handling</title>
<script src="script09.js"></script>
</head>
<body>
<h2>Famous Presidential Quotes</h2>
<form action="#">
<input type="button" id="Lincoln"value="Lincoln">
<input type="button" id="Kennedy"value="Kennedy">
<input type="button" id="Nixon"
value="Nixon">
</form>
</body>
</html>

这种条件语句允许针对多种可能性进行检查
window.onload = initAll;
function initAll() {
document.getElementById("Lincoln").onclick = saySomething;
document.getElementById("Kennedy").onclick = saySomething;
document.getElementById("Nixon").onclick = saySomething;
}
function saySomething() {
switch(this.id) {
case "Lincoln":
alert("Four score and seven years ago...");
break;
case "Kennedy":
alert("Ask not what your country can do for you...");
break;
case "Nixon":
alert("I am not a crook!");
break;
default:
}
}


也可以向switch 语句传递字符串之外的其他值。可以在switch 语句中使用数字值,甚至对数
学计算的结果进行评估。但是,如果结果应该是数字,那么要确保case 语句是匹配的——case
语句应该检查数字,而不是字符串(例如5,而不是“5”)。

利用try/throw/catch处理错误,给用户你一个友好的错误提示
演示如何使用JavaScript 的try/throw/catch 命令产生友好、有用的错误消息。
这个功能放在一个简单的平方根计算器中。
这个脚本用JavaScript 适当地处理错误
window.onload = initAll;
function initAll() {
var ans = prompt("Enter a number","");
try {
if (!ans || isNaN(ans) || ans<0) {
throw new Error("Not a valid number");
}
alert("The square root of " + ans + " is " + Math.sqrt(ans));
}
catch (errMsg) {
alert(errMsg.message);//这里提示用户的信息就是new Error里面的字符串
}
}
我们要关注3 种情况:根本没有输入;用户输入了某些内容,但不是数字;输入的是数字,但它
是负数(因为负数的平方根是虚数,这超出了这个示例的范围)。如果!ans 是true,就意味着用户没
有输入任何内容。内置的isNaN()方法检查传递给它的参数是否“不是数字(Not a Number)”。如果
isNaN()返回true,就说明输入的内容是无效的。如果ans 小于0,它就是负数


当抛出错误之后,JavaScript 跳出try 块并寻找对应的catch 语句。
因此, try 块中其余的代码都被跳过。



提示
 还有一个可选部分:最后的{}块。这个部分放在catch 后面,无论try 块是否抛出错误,这里包含的代码都应该执行。



















你可能感兴趣的:(JavaScript,html)