Yilia要多读书
2015-12-06 16:14
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数</title>
<script type="text/javascript">
//定义函数
function big(x,y)
{
if(x>y)
{return x;}
else if(x<y)
{return y;}
else
{document.write("两数相等");}
}
//函数体,判断两个整数比较的三种情况
//调用函数,实现下面两组数中,返回较大值。
document.write(" 5 和 4 的较大值是:"+big(5,4)+"<br>");
document.write(" 6 和 3 的较大值是:"+big(6,6));
</script>
</head>
<body>
</body>
</html>
结果为
5 和 4 的较大值是:5
两数相等 6 和 6 的较大值是:undefined
每个载入浏览器的 HTML 文档都会成为 Document 对象。
Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
你传入的 big(6,6)方法中 6和6两个参数 在if else if 中都不匹配,所以进入了else
在else中调用了document对象上的write方法。就立即执行了这个并输出了 两数相等的文本内容。
上述内容还是在big函数执行的阶段。
而你最后要输出的 document.write(" 6 和 6 的较大值是:" + big(6, 6)); 是在调用函数big(6,6)之后才会执行。
MARK一下,好好学习
为什么在else加x=y 就不会出现了啊
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数</title>
<script type="text/javascript">
//定义函数
function big(x, y) {
if (x > y) {
return x;
} else if (x < y) {
return y;
} else {
return '两数相等';
}
}
//函数体,判断两个整数比较的三种情况
//调用函数,实现下面两组数中,返回较大值。
document.write(" 5 和 4 的较大值是:" + big(5, 4) + "<br>");
document.write(" 6 和 6 的较大值是:" + big(6, 6));
</script>
</head>
<body>
</body>
</html>
document.write("xxx") 在执行这条语句的时候就已经在html中渲染了。输出的undefined 不是出错了。而是你的函数没有返回任何值,所以是undefined 两数相等被渲染在了 6 和 6 的较大值是: 之前
也就是 两数相等 6 和 6 的较大值是: undefined(这个undefined是因为函数没有返回值导致)。
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题