为什么不用return的话结果是这样的??

来源:5-6 编程练习

weibo_慕设计0064673

2020-02-08 10:59

<script type="text/javascript">      
function com(a,b)      //定义函数      
{if(a>b)            
    document.write(a);          
 else if(b>a)            
    document.write(b);         
else            
    document.write("相等");      
}  

document.write(" 5 和 4 的较大值是:"+com(3,4)+"<br>");   
document.write(" 6 和 3 的较大值是:"+com(6,3) );    

</script>

结果:
4 5 和 4 的较大值是:undefined
6 6 和 3 的较大值是:undefined

这个结果是为什么呢?


写回答 关注

2回答

  • Maturi
    2020-03-13 15:40:32

    你去商店买了x元的东西,给老板y元,

    老板用计算后(function)告诉你(document.write),要找你y-x元,你知道(能看到),但没有收到钱

    老板计算后,什么都没说,直接找给你y-x元(return),你收到了钱,可以放进钱包或是拿去买其他东西(引用)。

  • OMpZoNE
    2020-02-08 16:28:18

    函数执行之后的结果是要作为值交出来的,而那个值要通过return语句来得到(也就是所谓的“通过return语句来返回值”)

    document.write(" 6 和 3 的较大值是:"+com(6,3))这句话是说,在屏幕上输出“6和3的较大值是:调用函数com(6,3)之后函数给我返回的那个值”,你这边没有返回值,所以值是undefined

    慕尼黑250... 回复weibo_...

    你仔细看看你的函数,你在函数里面就已经进行了判断和输出,执行外面的write语句的时候先执行里面的com函数,com函数打印出6,然后再是你这句write语句打印,只是调用顺序的问题

    2020-02-11 20:57:40

    共 2 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题