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

为何不能执行呢

var num1 =document.getElementById("txt1").value;    var sel=document.getElementById("select").value;    var num2=document.getElementById("txt2").value;    document.getElementById("fruit").value=sum;

    switch(sel){

        case "+":

            var sum=num1 + num2;

            break;

        case "-":

            var sum= num1-num2;

            break;

        case "*":

            var sum=num1 * num2;

            break;

        case "/":

            var sum = num1/num2;

            break;

        default:

            document.write("不认识的法则");

    }

onclick="count()" 为什么不能执行呢?bug在哪呢

正在回答

1 回答

var sum=num1 + num2;

这一句最后的分号是中文符号,换成英文的呗。

var sum=num1 + num2;
document.getElementById("fruit").value=sum;

这一句没有定义过的变量sum怎么可以赋给控件。编译是自上而下的,所以应该是放在定义变量sum之后。

case "+":
   var sum=num1 + num2;
   break;
case "-":
   var sum= num1-num2;
   break;
case "*":
   var sum=num1 * num2;
   break;
case "/":
   var sum = num1/num2;
   break;

这里其实没必要反复的定义变量sum。可以提出来,定义一次就够了。

var sum;
var sum=num1 + num2;

这里需要做一下数据转换。因为+有时候会被当成连接符,无法做加法运算。

sum=parseFloat(num1) + parseFloat(num2);

完整的代码

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
    //获取第一个输入框的值
   var num1 =document.getElementById("txt1").value;    
   var sel=document.getElementById("select").value;    
   var num2=document.getElementById("txt2").value;    
   var sum;
    switch(sel){
        case "+":
           sum=parseFloat(num1) + parseFloat(num2);
            break;
        case "-":
           sum= num1-num2;
            break;
        case "*":
           sum=num1 * num2;
            break;
        case "/":
           sum = num1/num2;
            break;
        default:
            document.write("不认识的法则");
    }
   document.getElementById("fruit").value=sum;
   }
  </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>


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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468322    人
  • 解答问题       21893    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

为何不能执行呢

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