function f(num1,num2){
if(num1<num2){
return alert(num1);
}else{
return alert(num2);
}
}
alert(f(1,2)) //一次弹1;一次undefined;我理解的只弹一次;
function f(num1,num2){
if(num1<num2){
return alert(num1);
}else{
return alert(num2);
}
}
alert(f(1,2)) //一次弹1;一次undefined;我理解的只弹一次;
首先他先执行了你的f函数然后你return 了alert()这时候通过判断你肯定会执行一个alert 并return了undefined 在全局中你alert了f函数的返回结果undefined;你应该去掉alert(f()),直接执行f(1,2),或者f函数中不要return alert 直接return 你的num
简单来说,alert重复了,你把代码改成
if (num1>num2)
{
return num1
}
else
{
return num2
}
就可以了
因为alert没有返回值,你在代码里return alert()会先对alert进行求值,求值的过程中会弹出提示框,求值结果为undefined ,函数再返回undefined ,然后在函数外部alert(f()),f()的返回值为undefined ,所以alert出来的自然也是undefined
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
你的本意应该是这样的