以下的例子摘自《高性能网站建设进阶指南》的第7章 《编写高效的JavaScript》
利用二分查找算法改写 if语句的条件判断,在条件数量众多,且没有出现频率特别高的条件,以下的写法会尽量减少条件的判断。
假定例子中所有条件对应的value 值出现的频率一样。
if( value < 6){ if(value < 3){ if(value ==0){ return result0; } else if(value == 1){ return result1; } else { return result2 } } else { if(value == 3){ return result3; } else if(value == 4){ return result4; } else { return result5; } } } else { if(value < 8){ if (value == 6){ return result6; } else { return result7; } } else { if (value == 8){ return result8; } else if(value == 9){ return result9; } else { return result10; } } }
这段代码确保任何情况下,都不会超过 4 次的条件判断。并不是每个条件都会匹配准确的 value, 而是在找出实际的 value 之前,首先分离出一系列的条件范围。