我试图比较两个字符串并根据结果执行一些表达式。
下面是我编写的两个示例表达式,用于比较两个不匹配的字符串。
String1 !== String2
!(String1 === String2)
在性能方面,上述两个推荐哪一个?
答案 0 :(得分:1)
这是“微优化”的典型案例。简而言之:别担心。采取更具可读性的版本(我个人赞成1.超过2。)。
(只是稍微)更长的答案是:你不知道哪个更快 - 这取决于解释器的实现。*此外,你最好的几率是赢得每个这样的声明一个指令。不是很多。任何使用内存,从Web服务器加载文件或数据,或与DOM交互的代码都会比这更慢一大堆。这就是你的优化需要开始的地方 - 如果你的应用程序感觉太慢了。
*)基本上,!==
被设计为一个操作,而!(a === b)
本质上是两个操作:比较后跟一个否定。但是,根据解释器(甚至编译器),可能会优化这样的表达式。
答案 1 :(得分:1)
这取决于您希望有效代码块应该如何工作的上下文。这两者之间没有这样的区别,因为两者都是严格的。但是如果你使用==或!=那么它的速度要慢10%左右。
答案 2 :(得分:0)
我相信它的String1 !== String2
。因为有一个逻辑比较而不是2。