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

写了两种方式,发现在做+运算的时候,需要加Number(),不然出的结果不是和,而是字符串相连

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
       var num1=document.getElementById("txt1").value,
    //获取第一个输入框的值
    
    num2=document.getElementById("txt2").value,
//获取第二个输入框的值
select=document.getElementById("select").value,
fruit
//获取选择框的值
if(select=="+"){
    fruit=Number(num1)+Number(num2)
}
else if(select=="-"){
    fruit=num1-num2
}
else if(select=="*"){
    fruit=num1*num2
}
else{
    fruit=num1/num2
}
//获取通过下拉框来选择的值来改变加减乘除的运算法则
    document.getElementById("fruit").value=fruit
    //设置结果输入框的值 
   }
  </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>


把if换成switch:

switch (select) {
case "+": fruit = Number(num1) + Number(num2);
break;
case "-": fruit = num1 - num2;
break;
case "*": fruit = num1 * num2;
break;
case "/": fruit = num1 / num2;
break;
}

正在回答

2 回答

练习中提示:

注意: 使用parseInt()函数可解析一个字符串,并返回一个整数。

所以:

var num1=document.getElementById("txt1").value,

可以修改为:

var num1 = parseInt(document.getElementById("txt1").value);


还有一个小细节:JS 如果要以符号结尾的话要是用“;”

0 回复 有任何疑惑可以回复我~
因为里面的类型是字符串,字符串和字符串或者字符串和数字进行+的话,都会显示拼接,如果你想要将字符串数字变成数字进行加的话,除了使用的Number方法,你还可以使用(num1-0)+(num2-0)或者(+num1)+(num2)这些方法都可以。
1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

写了两种方式,发现在做+运算的时候,需要加Number(),不然出的结果不是和,而是字符串相连

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