问答详情
源自:5-6 编程练习

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

<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

这个结果是为什么呢?


提问者:weibo_慕设计0064673 2020-02-08 10:59

个回答

  • 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