日期:2014-05-17  浏览次数:20822 次

两个关于JS的问题
JScript code
<html>
<body>
<script type="text/javascript">
var x=prompt("请输入 0 至 10 之间的数:","")
try
{ 
if(x>10) 
  throw "Err1" 
else if(x<0)
  throw "Err2"
else if(isNaN(x))
  throw "Err3"
} 
catch(er)
{
if(er=="Err1") 
  alert("错误!该值太大!")
if(er == "Err2") 
  alert("错误!该值太小!") 
if(er == "Err3") 
  alert("错误!该值不是数字!") 
}
</script>
</body>
</html>


1.这段代码,当在框中不输入任何东西直接确认的时候不报错?


2、catch(er)和catch(err)是等价的么?

------解决方案--------------------
试了一下,不输入是没有报错的,但最好做一个空验证!
两个异常肯定不是等价的,是有区别的
er针对的异常比err多一些
------解决方案--------------------
因为当你不输入的时候x为空!这样改就可以了:
else if(isNaN(x)||x=="")
throw "Err3";