与循环相似,条件表达式决定JavaScript运行流的走向。与其他语言一样,JavaScript也采用了if和switch两种条件结构。由于不同浏览器针对流程控制进行了不同的优化,因此两者在性能上并没有特别大的差异,主要还是根据需求形式进行分析和选择:条件数量较大,建议选择switch结构,而不是if结构,这样可以使代码更易读;如果条件较少时,建议选择if结构。
//条件少
if(found){
//执行代码
}else{
//执行代码
}
//条件多
switch(color){
case"red":
//执行代码
break;
case"blue":
//执行代码
break;
case"brown":
//执行代码
break;
case"black":
//执行代码
break;
default:
//执行代码
}
事实证明,在大多数情况下,switch比if运行更快,但是只有当条件体数量很大时才明显更快。switch与if的主要性能区别在于:当条件体增加时,if性能负担增加的程度比switch更大。因此,从性能方面考虑,如果条件体较少,应使用if;如果条件体较多,应使用switch。
一般来说,if适用于判断两个离散的值或几个不同的值域。如果判断多于两个离散值,那么switch将是更理想的选择。