快速评估JavaScript的IF条件

快速评估JavaScript的IF条件,javascript,performance,if-statement,Javascript,Performance,If Statement,回到JavaScript的基础。这是一个基于JavaScript If条件的计算时间速度的问题 我有一个包含if条件用法的逻辑。问题是计算等于值的速度更快还是不等于值的速度更快 if(vm.currentFeedbackObject.sendReminderLists[0].sendReminderFlag !== '' && vm.currentFeedbackObject.sendReminderLists[0].sendReminderedOn !== null)

回到JavaScript的基础。这是一个基于JavaScript If条件的计算时间速度的问题

我有一个包含if条件用法的逻辑。问题是计算等于值的速度更快还是不等于值的速度更快

if(vm.currentFeedbackObject.sendReminderLists[0].sendReminderFlag !== '' && vm.currentFeedbackObject.sendReminderLists[0].sendReminderedOn !== null)
            {
              vm.isReminderSectionVisible = true;
            } else
            {
              vm.isReminderSectionVisible = false;
            }
上述计算结果不等于

if(vm.currentFeedbackObject.sendReminderLists[0].sendReminderFlag === '' && vm.currentFeedbackObject.sendReminderLists[0].sendReminderedOn === null)
            {
              vm.isReminderSectionVisible = false;
            } else
            {
              vm.isReminderSectionVisible = true;
            }
上面的一个计算等于值


这两种方法中哪一种执行速度更快?

为什么不试试呢?将以下内容写入您的控制台:

function notequal() {
  if(vm.currentFeedbackObject.sendReminderLists[0].sendReminderFlag !== ''    && vm.currentFeedbackObject.sendReminderLists[0].sendReminderedOn !== null)

    vm.isReminderSectionVisible = true;
  } 
  else {
    vm.isReminderSectionVisible = false;
  }
}

function yesequal() {
  if(vm.currentFeedbackObject.sendReminderLists[0].sendReminderFlag === ''    && vm.currentFeedbackObject.sendReminderLists[0].sendReminderedOn === null)
    vm.isReminderSectionVisible = false;
  } 
  else {
    vm.isReminderSectionVisible = true;
  }
}

var iterations = 1000000; 
console.time('Notequal #1');
for(var i = 0; i < iterations; i++ ){
    notequal();
};
console.timeEnd('Notequal #1')

console.time('Yesequal #2');
for(var i = 0; i < iterations; i++ ){
    yesequal();
};
console.timeEnd('Yesequal #2')
函数notequal(){
if(vm.currentFeedbackObject.SendMemberList[0].SendMemberFlag!=''&&vm.currentFeedbackObject.SendMemberList[0].SendMemberedOn!==null)
vm.isReminderSectionVisible=true;
} 
否则{
vm.isReminderSectionVisible=false;
}
}
函数yesqual(){
if(vm.currentFeedbackObject.SendMemberList[0]。SendMemberFlag==''&&vm.currentFeedbackObject.SendMemberList[0]。SendMemberedOn==null)
vm.isReminderSectionVisible=false;
} 
否则{
vm.isReminderSectionVisible=true;
}
}
var迭代次数=1000000;
控制台时间('Notequal#1');
对于(var i=0;i
您为什么需要这个?如果需要速度,请查看ASM编译器。一般来说,微优化javascript是一种浪费时间的行为,因为JIT所做的事情取代了现有的任何小技巧?你凭什么认为这很重要?你为什么不测量一下来发现呢?还有,为什么你的缩进这么奇怪?你的代码很难阅读。我让一个原生的感觉像是应用程序,每一个优化都很重要。因此,在编码优先级的层次结构中,在几乎所有情况下,清晰、干净和易于维护的代码都远远领先于性能。以最容易理解和最符合逻辑的方式编写代码,然后只在遇到需要解决的度量性能问题时才考虑性能。然后,您可以在许多不同的浏览器中对您的具体案例进行基准测试,以研究如何加快它的速度。过早优化会影响所有其他编码优先级。您应该自己进行测量:如果您需要毫秒精度,此性能api也会有所帮助: