问答详情
源自:5-4 有参数的函数

问什么出现undefined?

代码如下:
<!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?

提问者:无敌的我 2016-02-09 17:28

个回答

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

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

  • 慕少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

    知道了!非常感谢!