在Node.JS中切换vs if-else分支控制结构

Amo*_*rni 15 node.js

当Node.JS程序中存在大量分支流时,哪一个很好用.

开关

switch(n)
{
case 1:
  execute code block 1
  break;
case 2:
  execute code block 2
  break;
default:
  code to be executed if n is different from case 1 and 2
}
Run Code Online (Sandbox Code Playgroud)

或者
if-else

if (condition1)
  {
    execute code block 1
  }
else if(condition2)
  {
    execute code block 2
  } 
else
  {
     code to be executed if n is different from condition1 and condition2
  } 
Run Code Online (Sandbox Code Playgroud)

pkp*_*pkp 18

对于少数项目,差异很小.如果你有很多物品,你一定要使用开关.它比if-else提供更好的性能.

如果一个开关包含五个以上的项目,则使用查找表或哈希列表实现.这意味着与if-else列表相比,所有项目都获得相同的访问时间,其中最后一个项目需要更长的时间才能到达,因为它必须首先评估每个先前的条件.


小智 7

switch(n)
{
case 1,3,4:
     execute code block 1
     break;
case 2,5,9,10:
     execute code block 2
     break;
default:
      code to be executed if n is different from first 2 cases.
}
Run Code Online (Sandbox Code Playgroud)

要记下上述情况的if ... else if→else步骤,你必须编写'OR(||)'condition-statement并在语句中重复变量'n',其中as为switch案例可以用逗号','分隔.因此,对于这种情况,开关更具可读性.