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
函数没有返回值 是不能被调用或者参与其他表达式的
要有返回值的!!!
没有返回值,在判断后面应该跟return;将判断结果返回,方便调用时使用
注意一下你输出的是这个函数p(5,4)的结果,而你在函数内部把结果赋给了max,而没有返回值,所以显示undefined
对于这种需要一次函数处理结果的你最好在函数体内返回值,没必要放在外面的全局变量,而且尽量减少全局变量的滥用
函数没有返回最大的值
函数值要返回出来 ,直接赋值是不可以的
<!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>
没有返回值return
没有返回较大值,
return max;