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

为什么不用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

这个结果是为什么呢?


正在回答

2 回答

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

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

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

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

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

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

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

weibo_慕设计0064673 提问者

输出结果中 在“ 6和3的较大值是:xxx”的前面还有个6,这是为什么呢?(很疑惑)
2020-02-09 回复 有任何疑惑可以回复我~
#2

慕尼黑2505853 回复 weibo_慕设计0064673 提问者

你仔细看看你的函数,你在函数里面就已经进行了判断和输出,执行外面的write语句的时候先执行里面的com函数,com函数打印出6,然后再是你这句write语句打印,只是调用顺序的问题
2020-02-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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