为了账号安全,请及时绑定邮箱和手机立即绑定

关于case里面的加号,有点疑问

<!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,我想问下是不是要算加法的话一定要加这个东西?

正在回答

3 回答

不用,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);

0 回复 有任何疑惑可以回复我~
#1

C_黑鸡 提问者

非常感谢!
2017-02-14 回复 有任何疑惑可以回复我~

parseInt()的作用是将从输入框中获得的内容转为Int类型,楼上说的很清楚了

0 回复 有任何疑惑可以回复我~

不需要啊,parseInt只是对括号中的内容取整操作,不影响其他的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于case里面的加号,有点疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信