我今天正在寻找很多东西,但是在我发现了一些我在这里不知道的东西之后......所以我决定看看哪个是最快的,这就是我所拥有的......
&&
比快两倍if and condition?a:b;
http://jsperf.com/speed-test-for-conditions
令人惊讶的权利。或者它只是我的浏览器。
你怎么看这个,你觉得性能值得吗。我的意思是,如果您的应用程序开始运行速度提高 2 倍。是否值得将编码风格更改为奇怪的 && s..
我今天正在寻找很多东西,但是在我发现了一些我在这里不知道的东西之后......所以我决定看看哪个是最快的,这就是我所拥有的......
&&
比快两倍if and condition?a:b;
http://jsperf.com/speed-test-for-conditions
令人惊讶的权利。或者它只是我的浏览器。
你怎么看这个,你觉得性能值得吗。我的意思是,如果您的应用程序开始运行速度提高 2 倍。是否值得将编码风格更改为奇怪的 && s..
您的代码片段不会做同样的事情。JavaScript 的逻辑 AND 短路,因此该(x = 'default')
部分从未实际执行。您的代码解释如下:
(x == undefined) || (null && (x = 'default'))
由于x == undefined
is true
,OR 的第二部分永远不会执行,因为无论第二部分的布尔值如何,整个表达式都将为真。
如果添加括号,则第一个和第三个片段最终的速度相同(至少对我而言):
(x == undefined || null) && (x = 'default')