慕粉2142457299
2017-07-13 14:10
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数</title>
<script type="text/javascript">
//定义函数
function s(x,y)
//函数体,判断两个整数比较的三种情况
{
if(x>y)
{
return x;
}else if(x==y)
{
return x=y;
}else{
return y;
}
}
s(5,4);
s(6,9);
//调用函数,实现下面两组数中,返回较大值。
document.write(" 5 和 4 的较大值是:"+s"<br>");
document.write(" 6 和 3 的较大值是:" +s);
</script>
</head>
<body>
</body>
</html>
你在调用s函数时没有传入相应的参数,所以没有显示结果;
document.write(" 5 和 4 的较大值是:"+s"<br>");少了“+”
document.write(" 5 和 4 的较大值是:"+s+"<br>");
最后
else if(x==y)
{
return x=y;
}
这个判断的返回的结果是x的值,而你这样返回相当于先把y值赋值给x,然后返回x,根据你的意思应该是想返回表达x与y值相等,你可以用 return x==y;从而返回一个boolearn值表示
那个s是你自己定义的方法名,你把当做输出可能有结果吗?你要s(6,2)这样才有输出
还有,你那个输出“<br/>”这里你把输出的和换行符连在一起了,你的加号连接符嘞?
首先return x;这里分号写错了,然后就是document.write(" 5 和 4 的较大值是:"+s"<br>");
document.write(" 6 和 3 的较大值是:" +s);这里面的s会输出里面的代码,要把参数带进去,要不然在外面调用函数,将函数返回值传给另一个参数:r=s(5,4);r1=s(6,9).
function s(x,y)
{
if(x>y)
{
return x=y;
}
else if(x==y)
{
return x;
}
else
{
return y;
}
}
//调用函数,实现下面两组数中,返回较大值。
document.write(" 5 和 4 的较大值是:"+ s(5,4)+"<br>");
document.write(" 6 和 3 的较大值是:" +s(6,9));
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数</title>
<script type="text/javascript">
//定义函数
function s(x,y)
//函数体,判断两个整数比较的三种情况
{
if(x>y)
{
return x;//把这里的中文分号改为英文的
}else if(x==y)
{
return x=y;
}else{
return y;
}
}
//s(5,4);把函数调用改到下面
// s(6,9);
//调用函数,实现下面两组数中,返回较大值。
document.write(" 5 和 4 的较大值是:"+s(5,4)+"<br>");//在"<br>"前面加一个+号的连字符
document.write(" 6 和 3 的较大值是:" + s(6,9));
</script>
</head>
document.write("5 和 4 的较大值是:"+s(5,4) + "<br>");
document.write("6 和 3 的较大值是:" + s(6,9));
定义一下x和y看:var x,y;
JavaScript进阶篇
468196 学习 · 21891 问题
相似问题