通过prompt获得的数值为什么不是数值?

来源:5-4 有参数的函数

汤姆家的鱼

2016-09-24 23:48

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数传参</title>
<script type="text/JavaScript">

   function  sum1()              
    {   
        var x =prompt("请输入第1个数:");
        var y =prompt("请输入第2个数:");
        var z =prompt("请输入第3个数:");
        sum = x + y +z;
        document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>");
    }
   sum1()  
</script>
</head>
<body>
</body>
</html>为什么这里SUM不是x、y、z求和,而是合并相加

写回答 关注

4回答

  • 慕斯卡0247622
    2016-09-25 00:53:58
    已采纳

    alert():无返回值;

    confirm():返回true 或 false

    prompt返回数据类型是字符串。

    因此结果显示为三个数合并相加,你就不能用prompt实现求和的语法,他只是作为提示框而使用...

    汤姆家的鱼

    非常感谢!

    2016-09-25 02:42:35

    共 1 条回复 >

  • 慕斯卡0247622
    2016-09-25 01:59:34

    <!DOCTYPE HTML>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>函数传参</title>

    <script type="text/JavaScript">


       function  sum1()              

        {   

            var x =prompt("请输入第1个数:");

            var y =prompt("请输入第2个数:");

            var z =prompt("请输入第3个数:");

    sum1 = parseInt(x)+parseInt(y)+parseInt(z); //弄个类型转换将字符串类型转换为int型(或者其他类型)就行了

            sum = x + y +z;

            document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>");

    document.write(x+"、"+y+"、"+z+"和:"+sum1+"<br/>");

     

        }

       sum1()  

    </script>

    </head>

    <body>

    </body>

    </html>


  • 观自在
    2016-09-25 01:04:41
     function  sum1()              
        {   
            var x =prompt("请输入第1个数:");
            var y =prompt("请输入第2个数:");
            var z =prompt("请输入第3个数:");
            sum = parseInt(x) + parseInt(y) +parseInt(z);
            document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>");
        }

    这样就合适了  prompt获取是字符串

  • Start_Java_Life
    2016-09-25 01:03:23

    prompt返回数据类型是字符串

JavaScript进阶篇

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

467395 学习 · 21877 问题

查看课程

相似问题