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

为什么结果这样显示?

5 5和4的较大值是:undefined

6 6和3的较大值是:undefined

正在回答

5 回答

因为JS会先执行在前面的函数里面的document.write(),如果你不想提前输出最大值,必须用return对函数结果进行处理。

<script type="text/javascript">

function infos(a,b){

if(a>b){

    return a;

}else if(a<b){

    return b;

}else{

    return a;

}

}

var res1=infos(5,4);

res2=infos(3,6);

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

 document.write(" 6 和 3 的较大值是:" +res2); 

</script>


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

等待Mr薰衣草 提问者

get....蟹蟹!
2016-04-10 回复 有任何疑惑可以回复我~

因为document.write()是网页向文档输出数据 而用ruturn是返回当前结果 而你document.write(x)输出的只有一个x 当然会undefined啦

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

应该是你比较的函数写错了。

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

你是不是在function中的return后边没有写返回值?所以才会显示undefined

像下边这样?

if(x>y)

 return ;

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

等待Mr薰衣草 提问者

用document.write()输出比较值时会出现这个问题,最后改成用return返回,结果正常了。
2016-04-09 回复 有任何疑惑可以回复我~

好歹把代码挂上啊。。。

这样显示大概是因为你比较的 不是int而是字符串,或者你比较的函数写错了

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

等待Mr薰衣草 提问者

用document.write()返回比较值会这样,换成return就好了。都是返回最大值,但是为什么会这样啊。。
2016-04-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468044    人
  • 解答问题       21891    个

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

进入课程

为什么结果这样显示?

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