为导航中的上一个链接执行绑定。如果我们在第一个位置,不要对前一个链接做同样的事情。我做了一个“!=”不等于测试,但意识到它可能是一个“>”比...更棒。
然后我想,是一个更快?
if (numberToCheck != 0) {
//doSomething();
}
VS
if (numberToCheck > 0) {
//doSomething();
}
答案 0 :(得分:4)
性能问题应该通过测量来解决,而不是推测。
你可以在这里看到http://jsperf.com/inequality-vs-greater-than。此测试的结果(在我的计算机上)因浏览器而异。有些人在不平等方面更快。有些更快,少于。您可能会在代码的其他区域发现更大的速度差异。
如果你想测试一些与我在测试中稍微不同的东西,只需添加你自己的测试进行比较。
答案 1 :(得分:1)
你的意思是......绝对差异,还是“有意义的不同”?
在任何情况下,它都将取决于底层VM实现的100%。设置一个标志可能更快,并且该标志是&&
中的第一个(用于短路),并且数字部分为秒。
if (keepChecking && numberToCheck != 0) {
keepChecking == false;
// doSomething();
}
再次,依赖VM,我无论如何都无法相信这一点很重要。
答案 2 :(得分:0)
怎么样 -
if (numberToCheck !== 0) {
//doSomething();
}
实际上,我怀疑人类会注意到这种差异。另外,每个浏览器js引擎可能会产生不同的结果。
答案 3 :(得分:0)