javascript实现一个数值加法函数


Posted in Javascript onJune 26, 2015

废话不多说,直接奉上代码

JS

<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>

HTML:

<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()" />

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
Oct 01 Javascript
JS事件在IE与FF中的区别详细解析
Nov 20 Javascript
javascript实现列表滚动的方法
Jul 30 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
Oct 01 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
Jun 13 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
Dec 24 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
Jan 09 Javascript
jQuery Form表单取值的方法
Jan 11 Javascript
JavaScript函数定义方法实例详解
Mar 05 Javascript
详解vue2.0模拟后台json数据
May 16 Javascript
浅析Vue中拆分视图层代码的5点建议
Aug 15 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
Aug 27 Javascript
javascript排序函数实现数字排序
Jun 26 #Javascript
javascript实现给定半径求出圆的面积
Jun 26 #Javascript
js实现数组转换成json
Jun 26 #Javascript
javascript实现倒计时(精确到秒)
Jun 26 #Javascript
基于jQuery实现的旋转彩圈实例
Jun 26 #Javascript
jquery实现的树形目录实例
Jun 26 #Javascript
arguments对象验证函数的参数是否合法
Jun 26 #Javascript
You might like
session 的生命周期是多长
2006/10/09 PHP
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
PHP如何解决网站大流量与高并发的问题
2011/06/25 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
2014/11/04 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
跟老齐学Python之print详解
2014/09/28 Python
python装饰器实例大详解
2017/10/25 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
2019/07/22 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
校庆筹备方案
2014/03/30 职场文书
学校政风行风整改方案
2014/10/25 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
承诺书范本大全
2015/05/04 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang