hey小姐姐
2017-01-03 10:10
<script type="text/javascript">
//定义函数
function max(num1,num2){
var num1,num2;
if(num1>num2){max=num1;}
else if(num1<num2){max=num2;}
else{max="两数字相等";}
return max;
}
document.write("5和4的较大值是:"+max(5,4)+"<br>");
document.write("6和3的较大值是:"+max(6,3)+"<br>");
</script>
首先,全局变量名是和函数名不能相同。,若局部变量名与全局变量名或函数名相同,则在该局部变量作用范围内不能使用相应的全局变量或函数。
在这个案列中,如果依旧保持这全部代码的话,在开始的时候定义下max就可以了。
如下,
function max(num1,num2){
var max=0;
if(num1>num2){max=num1;}
else if(num1<num2){max=num2;}
else{max="两数字相等";}
return max;
恩,不过最好不要同名了
//定义函数
function comparebig(x,y){
//函数体,判断两个整数比较的三种情况
if(x>y){
return x;
}else if(x==y){
return x;
}else{
return y;
}
}
//调用函数,实现下面两组数中,返回较大值。
document.write(" 5 和 4 的较大值是:"+comparebig(5,4)+"<br>");
document.write(" 6 和 3 的较大值是:"+comparebig(6,3) );
关键字冲突和重复定义参数
可以直接返回值:
<script type="text/javascript">
function max(num1, num2) {
if(num1 > num2) {
return num1;
} else if(num1 < num2) {
return num2;
} else {
return "两数字相等";
}
}
document.write("5和4的较大值是:" + max(5, 4) + "<br>");
document.write("6和3的较大值是:" + max(2, 3) + "<br>");
</script>
两个问题:1.你定义的函数里的max未声明就直接用了;2.num1,num2是传过来的参数,你在函数中重复定义了
兄弟,我帮你改好了!
<script type="text/javascript">
//定义函数
function max(num1,num2){
var max;
if(num1>num2){max=num1;}
else if(num1<num2){max=num2;}
else{max="两数字相等";}
return max;
}
document.write("5和4的较大值是:"+max(5,4)+"<br>");
document.write("6和3的较大值是:"+max(6,3)+"<br>");
</script>
你的变量max和函数名相同了
<script type="text/javascript">
//定义函数
function max(num1, num2) {
var num1, num2;
if(num1 > num2) {
maxN = num1;
} else if(num1 < num2) {
maxN = num2;
} else {
maxN = "两数字相等";
}
return maxN;
}
document.write("5和4的较大值是:" + max(5, 4) + "<br>");
document.write("6和3的较大值是:" + max(6, 3) + "<br>");
</script>
else(num1<numb2)改成else就可以了
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题