我想清理一个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“,那么第一个主机会更快,因为它会立即返回,而不需要评估剩余的条件。但是,假设这些条件都不是真的,那么哪种方法更好呢?
发布于 2015-05-12 15:19:38
第二个选项更快,因为它不需要跳过多个返回语句。正如亚历克斯K.在他的评论中提到的,第一个真实的陈述在或-级联停止评估.
https://stackoverflow.com/questions/30194959
复制相似问题