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
你的本意应该是这样的