我今天正在寻找很多东西,但是在我发现了一些我不知道的东西之后......所以我决定看看哪个是最快的,这就是我所拥有的......
&&
比if and condition?a:b;
http://jsperf.com/speed-test-for-conditions
令人惊讶的权利。或者只是我的浏览器。
您如何看待这一点,您认为表现是否值得。我的意思是,如果您的应用程序开始工是否值得将编码风格改为奇怪的&& amp;秒。
答案 0 :(得分:3)
您的代码段不会做同样的事情。 JavaScript的逻辑AND短路,因此(x = 'default')
部分从未实际执行过。您的代码解释如下:
(x == undefined) || (null && (x = 'default'))
由于x == undefined
是true
,OR的第二部分永远不会执行,因为无论第二部分的布尔值如何,整个表达式都将为真。
如果你添加括号,第一个和第三个片段end up being the same speed(至少对我来说):
(x == undefined || null) && (x = 'default')