PAC文件最佳实践

时间:2015-05-12 15:12:52

标签: javascript pac

我正在尝试清理PAC文件。以下哪个代码块更简洁和/或更快?

if (host == "localhost")                                  {return "DIRECT";}
if (shExpMatch(host, "localhost.*"))                      {return "DIRECT";}
if (host == "127.0.0.1")                                  {return "DIRECT";}
if (isPlainHostName(host))                                {return "DIRECT";}
if (isInNet(hostIP, "10.0.0.0", "255.0.0.0"))        {return "DIRECT";}

if ( host == "localhost" ||
     host == "127.0.0.1" ||
     shExpMatch( host, "localhost.*" ) ||
     isPlainHostName( host ) ||
     isInNet( hostIP, "10.0.0.0", "255.0.0.0" ))
return "DIRECT";

我假设如果目标主机确实是“localhost”,那么第一个会更快,因为它会立即返回并且不需要评估剩余的条件。但假设没有条件成立,首选哪种方法?

1 个答案:

答案 0 :(得分:2)

第二个选项更快,因为它不必跳转多个return语句。正如Alex K.在他的评论中提到的那样,or-cascade中的第一个真实陈述停止了评估。