问什么出现undefined?

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

无敌的我

2016-02-09 17:28

代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数传参</title>
<script type="text/JavaScript">
   function add3(x,y,z)               
    {
      sum = x + y +z;
      document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>");
    }
    document.write(add3(5,8,3));
    document.write(add3(7,1,4));
     
</script>
</head>
<body>
</body>
</html>

结果:

5、8、3和:16
undefined7、1、4和:12
undefined

为什么出现undefined?

写回答 关注

3回答

  • 慕侠在此
    2016-02-09 19:31:52
    已采纳

    调用的时候,不要使用document.write(add3(5,8,3)),直接add3(5,8,3)。

    慕少8507... 回复世界的我

    docment.write() 这个输出的是函数的返回值,这个函数没有返回sum的值,所以为空,前面会输出是因为函数体里有docment.write()! 在这里例子里,写一句函数里写上return(sum),就会显示两次结果,结果如下: 5、8、3和:16 16 7、1、4和:12 12 把函数体里的document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>"); 删除,就只显示结果。 如果要显示5、8、3和:16这种,我想你应该知道怎么写了!

    2016-04-24 23:42:16

    共 4 条回复 >

  • 慕少8507465
    2016-04-24 23:41:02

    docment.write() 这个输出的是函数的返回值,这个函数没有返回sum的值,所以为空,前面会输出是因为函数体里有docment.write()!

    在这里例子里,写一句函数里写上return(sum),就会显示两次结果,结果如下:

    5、8、3和:16
    16

    7、1、4和:12
    12

    把函数体里的document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>"); 删除,就只显示结果。

    如果要显示5、8、3和:16这种,我想你应该知道怎么写了!

  • 无敌的我
    2016-02-09 20:12:20

    知道了!非常感谢!


JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题