首页 » 编写高质量代码:改善JavaScript程序的188个建议 » 编写高质量代码:改善JavaScript程序的188个建议全文在线阅读

《编写高质量代码:改善JavaScript程序的188个建议》建议23:推荐提高条件性能的策略

关灯直达底部

与循环相似,条件表达式决定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将是更理想的选择。