为了账号安全,请及时绑定邮箱和手机立即绑定

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

结果如下:

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

正在回答

4 回答

定义的函数没有返回值,

0 回复 有任何疑惑可以回复我~

我觉得你这个写法有问题

函数里本来就有想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)这个函数之后的的函数返回值。

0 回复 有任何疑惑可以回复我~

document.write多写了。

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

0 回复 有任何疑惑可以回复我~

函数内部正常执行了,

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信