JS实现加减乘除

这节课,将会继续使用到if判断,会让同学们再看到一个新的,else if判断语句,意思是:否则如果,是基于if下的判断语句,就是说,if不成立则再来判断else if,可以这样,假如a=1,if(a=2){我是2}else if(a=1){我是1}else{我是3},就是这样的关联,但有的同学问,直接用if一直判断就好了,不需要用else if,是这样的,程序运行,else if是基于if的对吧,那么它就是一条语句,如果相同的判断语句多了,全用if,程序就会一个一个去执行,量就会加大,就会影响程序速度。
这节课其实最难的是,“正则表达式”,它特别厉害哦,它可以很简单的来做,手机、IP、验证码、密码、用户名、地址等操作,可以节省更多的代码和思维,它的特点就是,开头和结尾都是用一根 / 斜杠的,里面则是正则内容,用做判断特别给力。
 
上代码,老师做一个初学者能看到的加减乘除法:
 
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>JS实现一个加减乘除</title>
</head>
<body>
<h3>加减乘除法</h3>
<input placeholder="第一个数字" id="num1" type="text"/>
<select name="fuhao" id="fuhao">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input placeholder="第二个数字" id="num2" type="text"/>
<button onclick="yunsuan()">运算</button>
<input placeholder="得出结果" id="num3" type="text"/> <script>
function yunsuan(){
//点击事件运行后,获取相关的所有元素id
var num1 = document.getElementById("num1");
var num2 = document.getElementById("num2");
var num3 = document.getElementById("num3");
var fuhao = document.getElementById("fuhao");
// 下面这个是正则表达式,下面这个意思则是,只能输入数字,字数必须有一个及以上
var zhengze = /^[0-9]{1,}$/;
//这里面则是用判断,使用正则的格式,来判断 num1 和num2格式是否正确
if(!zhengze.test(num1.value)){
//老师判断力用了一个 !(叹号),意思是取相反,它本身成立则会变成不成立
alert('只能输入整数,数字哟');
//判断如果不成立,弹出提示并让代码停止运行,就不往下面走了
return false;
}else if(!zhengze.test(num2.value)){
//else if意思是 否则如果,是在if下面使用的一个判断语句
alert('只能输入整数,数字哟');
return false;
}
//先用判断,判断它的运算符号
//value 是获取它的文本框里的值 select是下拉列表,也可以当做是文本框哦
if(fuhao.value == '+'){
//一个等号是赋值,两个等号才是平常我们作比较说的“等于”
//在JS里,+号不是两个数字相加,而是‘拼接’,将两个数字或者字符串拼接在一起
//这里我们做数字运算,就要用到parseInt方法,就它转化成数字才能相加得出结果
num3.value = parseInt(num1.value)+parseInt(num2.value);
}else if(fuhao.value == '-'){
num3.value = parseInt(num1.value)-parseInt(num2.value);
}else if(fuhao.value == '*'){
num3.value = parseInt(num1.value)*parseInt(num2.value);
}else if(fuhao.value == '/'){
num3.value = parseInt(num1.value)/parseInt(num2.value);
}
}
</body>
</html>
这里面的代码还可以再节省一点,但老师先做出这样,让入门的同学更加看得懂。那么怎么节省呢,有兴趣的同学自己去想一下咯!
这里老师只用了支持整数,还有小数呢...
这里老师每一个运算符一行代码,就是4行,再加上判断if就又是几行,数学运算符不止这四个,那么我们就再一直无线延伸下去写代码吗?那就太费事了,有办法能做到,直接获取运算符,然后得出结果,老师不吹牛,一行代码直接搞定,那么有兴趣的同学,自己去开发咯!
 

最新文章

  1. myeclipse竖行删除
  2. javascript 中slice,substr,substring方法的对比
  3. 【Java Saves!】Session 6:十六指星人
  4. 百度之星Astar2016 Round2A
  5. 问题记录-Fragment导包不同导致无法自动转型
  6. 如何获取多核、多cpu系统中指定cpu的序列号
  7. java 环境变量配置
  8. DevExpress GridControl 后台设置列
  9. ASI进行POST网络请求
  10. postgres常用类型
  11. js 记忆函数
  12. gulp api
  13. JAVA网络爬虫WebCollector深度解析——爬虫内核
  14. jQuery EasyUI 1.3.4 离线API、Demo
  15. KS检验统计量的扩展应用(CMap)
  16. Angular(01)-- 架构概览
  17. 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)
  18. 10 python 初学(Python 的编码解码)
  19. flask上下文全局变量,程序上下文、请求上下文、上下文钩子
  20. ArcGIS三种方式打断相交线------Planarize Lines工具

热门文章

  1. 取得远端相应Json并转化为Java对象(嵌套对象)二
  2. 1-mybatis-概览
  3. html+xml+servlet 通讯录案例demo
  4. java高级之Io流
  5. Django框架 选项卡加active类的方案
  6. Tomcat远程调试参数
  7. CnPack 开源软件项目
  8. (2)网络基础之IP
  9. Mybatis是什么?mybatis中的对一和对多关系怎么配置
  10. jvm的学习笔记:二、类的初始化,代码实战(1)