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

为什么结果显示未定义

var x;

var y,max;

function p(x,y){

if(x>y){

   max=x;

}else{

   max=y;

  }

}

 

//调用函数,实现下面两组数中,返回较大值。

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

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


为什么结果却显示这个 

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

正在回答

9 回答

函数没有返回值 是不能被调用或者参与其他表达式的

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

要有返回值的!!!

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

没有返回值,在判断后面应该跟return;将判断结果返回,方便调用时使用

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

注意一下你输出的是这个函数p(5,4)的结果,而你在函数内部把结果赋给了max,而没有返回值,所以显示undefined

对于这种需要一次函数处理结果的你最好在函数体内返回值,没必要放在外面的全局变量,而且尽量减少全局变量的滥用

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

函数没有返回最大的值

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

函数值要返回出来 ,直接赋值是不可以的

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

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>函数</title>


<script type="text/javascript">


//定义函数

function asd(x,y){

    if(x>y){

     return x;  

   }else if(x=y){

     return x,y; 

   }else if(x<y){

     return y;

   }

}

//函数体,判断两个整数比较的三种情况

//调用函数,实现下面两组数中,返回较大值。

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

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

</script>

</head>

<body>

</body>

</html>



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

没有返回值return

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

没有返回较大值,

return max;

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

举报

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

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

进入课程

为什么结果显示未定义

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