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

请问为什么会出现这样的结果?

结果如下:

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

提问者:ZXJ03 2015-10-16 16:14

个回答

  • 彩鸟
    2015-10-20 14:00:04

    定义的函数没有返回值,

  • 黑色丶毛衣
    2015-10-17 16:25:10

    我觉得你这个写法有问题

    函数里本来就有想html网页输出的document.write

    在下面直接调用函数就会输出

    如果在函数输出的外面再加document.write是想要输出什么呢?

    函数本身并没有return

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

    以上代码是当函数值有返回值时的情况,如果将

    ”return 0“中的0去掉的话会出现undefined;

    由此应该是可以看出

    document.write(add(5,8,3));

    是输出调用add(5,8,3)这个函数之后的的函数返回值。

  • changping123
    2015-10-16 16:22:09

    document.write多写了。

    下面方法直接调用add3,不要有document.write了,这个方法会把add3的返回结果输出,而function没有返回值,所以是undefined,对应的<br/>换行就是那个结果了。

  • lovewike李逸
    2015-10-16 16:18:45

    函数内部正常执行了,

    但是外部函数调用时没有返回值,所以是undefined。