zoukankan      html  css  js  c++  java
  • 实现一个数值加法函数,返回两个数字的和。要求能进行参数验证,若参数不是数字或为空则抛出异常。

    <body>

    <script type="text/javascript">
    function Sum(arg1,arg2){ //数值加法函数
    var sarg1 = new String(arg1); //将传入的参数转为字符串以便进行参数检查
    var sarg2 = new String(arg2); //将参数2转为字符类型
    if( (sarg1=="")||(sarg2=="") ) //确保参数不为空
    {
    var e0 = new Error(); //当有参数为空则抛出异常
    e0.Serial = 1000001; //错误编号
    if( sarg1=="" ) //根据为空的参数正确填写错误信息
    {
    e0.message = "Sum函数参数非法:第1个参数为空!"; //错误描述信息
    }
    else
    {
    e0.message = "Sum函数参数非法:第2个参数为空!";
    }
    throw e0; //抛出错误信息
    }
    for(i=0;i<sarg1.length;i++){ //参数合法性检查
    for(j=0;j<10;j++){ //检查所有字符
    if(sarg1.charAt(i)==j) //若不是数字则抛出错误信息
    {
    break; //跳出循环
    }
    else
    {
    if(j==9) //当已经查询到数字9时
    {
    var e1 = new Error(); //错误信息对象
    e1.Serial = 1000001; //错误编号
    e1.message = "Sum函数参数:" + sarg1 + "是非法数字!"; //错误描述信息
    throw e1;
    }
    }
    }
    }
    for( k=0;k<sarg2.length;k++ ) //检查参数2是数字
    {
    for(l=0;l<10;l++){ //从0到9逐一比较
    if(sarg2.charAt(k)==l) //如果是0~9的数字
    {
    break;
    }
    else
    {
    if(l==9) //只有包含非数字则抛出错误信息
    {
    var e2 = new Error(); //创建错误对象
    e2.Serial = 1000001; //异常编号
    e2.message = "Sum函数参数:" + sarg2 + "是非法数字!";
    throw e2;
    }
    }
    }
    }
    return Number(arg1) + Number(arg2); //参数都正确则返回两个值得和
    }
    function Button1_onclick(){ //“计算”按钮的单机事件处理程序
    try{
    var Text1 = document.getElementById("Text1");
    var Text2 = document.getElementById("Text2");
    var Text3 = document.getElementById("Text3");
    var sum = Sum(Text1.value,Text2.value); //调用函数进行计算

    Text3.value = sum; //输出计算结果
    }
    catch(e){ //有错误发生则输出错误信息
    alert(e.message); //输出异常中的信息
    if(e.Serail == 1000001) //如果是1000001号错误
    {
    alert(e.message);
    e = null;
    }
    }
    }
    </script>

    <input type="text" id="Text1" style="84px" maxlength="20"/>
    +
    <input type="text" id="Text2" style="75px" maxlength="20"/>
    =
    <input type="text" id="Text3" style="69px">
    <input type="button" id="Button1" value="计算" onclick="return Button1_onclick()" />
    </body>

  • 相关阅读:
    1026 Table Tennis (30)
    1029 Median
    1025 PAT Ranking (25)
    1017 Queueing at Bank (25)
    1014 Waiting in Line (30)
    1057 Stack (30)
    1010 Radix (25)
    1008 Elevator (20)
    字母大小写转换
    Nmap的基础知识
  • 原文地址:https://www.cnblogs.com/clear93/p/4599511.html
Copyright © 2011-2022 走看看