C_黑鸡
2017-01-16 13:06
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var res;
//获取第一个输入框的值
var a=document.getElementById("txt1").value;
//获取第二个输入框的值
var b=document.getElementById("txt2").value;
//获取选择框的值
var ocal=document.getElementById("select").value;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
switch(ocal){
case "+":
res=parseInt(a) + parseInt(b);
break;
case "-":
res=a - b;
break;
case "*":
res=a * b;
break;
case "/":
res=a / b;
break;
default:
res="请正确输入";
}
//设置结果输入框的值
document.getElementById("fruit").value=res;
}
</script>
</head>
<body>
<input type='text' id='txt1' />
<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='txt2' />
<input type='button' value=' = ' onClick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果-->
<input type='text' id='fruit' />
</body>
</html>这个能正确运行出来,但是在我第一次的时候加的情况下,因为是写res=a+b,输出的结果单纯是两串字拼接在一起,就像23+55=2355这样,在参考了其他人的写法才知道这个parseInt,我想问下是不是要算加法的话一定要加这个东西?
不用,parseInt()的作用是将字符转换为与之相应的整数,
这个程序里要加是因为取值时document.getElementById("txt1").value语句取到的值是字符类型的,直接运行a+b会被认为是字符相加所以“23”+“55”就是2355,
而用了parseInt()后,把“23”,“25”两个字符转换为了23,25两个数字,所以a+b就是23+25=47了。
ps.其实在定义a和b时直接用parseInt()将a,b取整程序会简单一点:
var a=parseInt(document.getElementById("txt1").value);
var b=parseInt(document.getElementById("txt2").value);
parseInt()的作用是将从输入框中获得的内容转为Int类型,楼上说的很清楚了
不需要啊,parseInt只是对括号中的内容取整操作,不影响其他的
JavaScript进阶篇
469065 学习 · 22582 问题
相似问题