问一下这个js语句的加法怎么实现不了,麻烦
 <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <title>加减乘除的基本运算</title>
        <script language="javascript">

        function evalAbc(x,y,z,n)
        {
            var x,y,n;//定义变量
            //输入第一个数字
            x=window.prompt("请输入第一个数字:");

            //输入第二个数字
            y=window.prompt("请输入第二个数字:");

            //输入一个运算符
            z=window.prompt("请输入一个运算符:",z);
            if(z=='*')
            {
                n=x*y;
            }
            else if(z=='/')
            {
                n=x/y;
            }
            else if(z=='+')
            {
                document.write(eval(n=x+y));

            }
            else
            {
                n=x-y;
            }
            alert(n);
            document.write(n);
        }

        /*
        function abc(x,y)
        {
            document.write(eval(x+y));
        }
        */
        </script>
    </head>
    <body style="text-align:center">
    <input type="button" name="mybutton" value="点我运算" onclick="evalAbc()"/>
    </body>
</html>

那个else if加法语句 实现不了 还是字符串

9个回答




加减乘除的基本运算
<pre><code> function evalAbc(x,y,z,n) { var x,y,n;//定义变量 //输入第一个数字 x=window.prompt(&quot;请输入第一个数字:&quot;); //输入第二个数字 y=window.prompt(&quot;请输入第二个数字:&quot;); //输入一个运算符 z=window.prompt(&quot;请输入一个运算符:&quot;,z); if(z==&#39;*&#39;) { n=x*y; } else if(z==&#39;/&#39;) { n=x/y; } else if(z==&#39;+&#39;) { parseInt(x)+parseInt(y); //n=x+y; document.write(eval(n=x+y)); } else { n=x-y; } alert(n); document.write(n); } /* function abc(x,y) { document.write(eval(x+y)); } */ &lt;/script&gt; &lt;/head&gt; &lt;body style=&quot;text-align:center&quot;&gt; &lt;input type=&quot;button&quot; name=&quot;mybutton&quot; value=&quot;点我运算&quot; onclick=&quot;evalAbc()&quot;/&gt; &lt;/body&gt; </code></pre> <p></html><br> 还是不行 麻烦大家再看一下</p>
qq_31930741
从容_ 回复weixin_32773751: 谢谢啊,真的十分感谢 已经出来了 谢谢谢谢
4 年多之前 回复
qq_31930741
从容_ 回复weixin_32773751: 谢谢啊,真的十分感谢 已经出来了 谢谢谢谢
4 年多之前 回复
weixin_32773751
weixin_32773751 后面的document.write(eval(n=x+y))也要改成n
4 年多之前 回复
weixin_32773751
weixin_32773751 if里面那一句没有赋值给n喔,n=parseInt(x)+parseInt(y)
4 年多之前 回复

输入的默认是字符串吧,+号可以做字符串连接操作,用parseInt转换下x和y试试

qq_31930741
从容_ 我刚刚转换了,还是没用 就是这样: parseInt(y,x);麻烦你说一下,谢谢
4 年多之前 回复

parseInt(x)+parseInt(y)

parseInt(x)+parseInt(y)

我刚刚转换了,还是没用 就是这样: parseInt(y,x);麻烦你说一下,谢谢

else if(z=='/') 字符串要加引号吧

 <html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <title>加减乘除的基本运算</title>
    <script language="javascript">

        function evalAbc(x, y, z, n) {
            var x, y, n;//定义变量
            //输入第一个数字
            x = parseInt(window.prompt("请输入第一个数字:")) || 0;//转为数字

            //输入第二个数字
            y = parseInt(window.prompt("请输入第二个数字:")) || 0; //转为数字

            //输入一个运算符
            z = window.prompt("请输入一个运算符:", z);
            if (z == '*') {
                n = x * y;
            }
            else if (z == '/') {
                n = x / y;
            }
            else if (z == '+') {
                //document.write(eval(n = x + y));//不要用document.write,文档流关闭后再调用这个会覆盖当前页面内容
                n = x + y

            }
            else {
                n = x - y;
            }
            alert(n);
            document.getElementById('rst').innerHTML = n;
        }

        /*
        function abc(x,y)
        {
            document.write(eval(x+y));
        }
        */
    </script>
</head>
<body style="text-align:center">
    <div id="rst"></div>
    <input type="button" name="mybutton" value="点我运算" onclick="evalAbc()" />
</body>
</html>

每个数分别parseInt(x)然后在求和,js中比较数的大小也得先转换,只要是跟数据有关的都得转换

 var  i = ‘1’;
    var   j = ‘2’;
    alert(‘I+J = ’+ (i*1 + j*1));
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐