JS是一种顺序执行的程序语言,所以写程序的时候要注意命令的前后顺序,否则可能达不到我们想要的结果。比如:
<script type="text/javascript">
function test()
{
try
{
var x=document.getElementById("number").value;
if (x=="") throw "值为空,请按照要求输入数字"
if (isNaN(x)) throw "不是数字";
if (x < 5) throw "太小";
if (x > 10) throw "太大";
}
catch (err)
{
var y=document.getElementById("message").innerHTML=err;
}
}
</script>
假如把“if (x=="") throw "值为空,请按照要求输入数字”放在”if (x < 5) throw "太小";“后面,那么当你文本框不输入任何东西的时候,出现的提示不是”值为空,请按照要求输入数字“而是“太小”,因为在JS里面在关系运算时候假如两边不都是数值的话有一个隐式的转换,那么此例由于先遇到if (x < 5)这个判断条件,那么将“ ”转换为0,再同5比较,具体见附图: