我认为 b 应该总是被返回,但条件是双向的。我读到建议不要在 c 中的 return 语句之后使用它。现在我知道 return 会停止该函数。
function min(a,b) {
if(a<b) return a;
return b;
}
min(20,94);//20
min(20,4);//4
最佳答案
因为return
完全脱离了函数。如果 return a
已经被击中,则 return b
永远不会被击中,而 return a
仅当 a
被击中时才会触发小于b
。
The return statement ends function execution and specifies a value to be returned to the function caller.
在伪代码中,您的代码片段基本上执行以下操作:
- 它需要两个参数:
a
和b
。 - 然后检查
a
是否小于b
,如果是,则返回a
- 函数在此结束。 - 如果第 2 部分中的检查失败,则会进入此部分并返回
b
。函数到此结束。
分钟(20, 94)
此处 20
(a
) 小于 94
(b
),因此第 2 部分的检查结果为true 并返回 20
。没有其他事情发生。
分钟(20, 4)
此处 20
(a
) 不小于 4
(b
),因此第 2 部分的检查结果为 false,我们继续执行第 3 部分,其中返回 4
。没有其他事情发生。
关于javascript - 为什么这个条件在没有 else 的 return 语句中起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31858997/