更快地评估JavaScript的IF条件

时间:2015-07-05 22:22:47

标签: javascript performance if-statement

回到JavaScript的基础知识。这是我要问的一个问题是基于JavaScript的计算时间速度如果条件。

我有一个逻辑,包括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;
            }

上述计算等于值

这两个中哪一个执行得更快?

1 个答案:

答案 0 :(得分:1)

为什么不尝试一下?写信给你的控制台:

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')