为什么这个条件在返回语句中没有其他条件?

时间:2015-08-06 14:51:44

标签: javascript function

我认为应该总是返回b,但条件是双向的。我读过它建议不要在c.well中返回语句后使用它现在我得到它返回停止功能。

function min(a,b) {
  if(a<b) return a;
  return b; 
}

min(20,94);//20
min(20,4);//4

1 个答案:

答案 0 :(得分:3)

因为return完全打破了这个功能。如果return b已被点击,return a永远不会被点击,return a只会在a小于b时触发。

  

return语句结束函数执行并指定要返回给函数调用者的值。

     

- MDN's notes on return

在伪代码中,您的代码段基本上执行以下操作:

  1. 它需要两个参数ab
  2. 然后检查a是否小于b,如果是,则返回a - 此处的功能结束。
  3. 如果第2部分中的检查失败,则会转到此部分并返回b。该功能在此结束。
  4. min(20, 94)

    此处20a)小于94b),因此第2部分的检查评估为真,20为回。没有其他事情发生。

    min(20, 4)

    此处20a小于4b),因此第2部分的检查评估为false,我们继续前进到返回4的第3部分。没有其他事情发生。