首页 > 网站 > WEB开发 > 正文

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

2024-04-27 14:07:51
字体:
来源:转载
供稿:网友

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

<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="width:84px" maxlength="20"/>+<input type="text" id="Text2" style="width:75px" maxlength="20"/>=<input type="text" id="Text3" style="width:69px"><input type="button" id="Button1" value="计算" onclick="return Button1_onclick()" /></body>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表