有没有像我这样写的,为什么prompt方法输入123 最后sum值就是123呢,不应该是6吗

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

慕粉4169047

2017-01-05 13:22

 function  add(x,y,z)               

{

        var x=prompt("x=");

        var y=prompt("y=");

        var z=prompt("z=");

 sum=x+y+z;

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

}

add()

 

</script>

</head>


写回答 关注

4回答

  • 慕粉4169047
    2017-01-05 15:34:40

    好的,谢谢哦

  • 雷子_java
    2017-01-05 15:18:37

    prompt()方法得到的是字符类型,这是+是用作字符串拼接的,所以结果应该是123,如果想得到 数值相加,则应该做一个类型转换,js中用parseInt(i) 方法来将i从字符转成数值型。

  • 慕粉4169047
    2017-01-05 14:04:10

    prompt返回的都是字符串是吗?

  • lelouch_
    2017-01-05 14:01:30

    因为你prompt返回值是'1' '2' '3' 而不是数值1、2、3 

    写成这样就对了

       <script type="text/javascript">

            function  add()               

    {

            var x=parseInt(prompt("x="));

            var y=parseInt(prompt("y="));

            var z=parseInt(prompt("z="));

     sum=x+y+z;

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

    }

    add()

    </script>


JavaScript进阶篇

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

468667 学习 · 21895 问题

查看课程

相似问题