我正在尝试清理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”,则第一个主机会更快,因为它将立即达到返回值,并且不需要评估其余条件。 但是,假设没有一个条件成立,则首选哪种方法?
第二个选项更快,因为它不必跳过多个返回语句。 正如Alex K.在评论中提到的那样,级联中的第一个真实陈述会暂停评估。