好吧,虽然我嵌套一些验证,如果,我已经谈到性能。什么是更快?两个比较或一个比较与一个逻辑检查?
让我们假设我验证票的节目,我可以做这样的事情:
var validateVipTicket = function (ticketInfo) {
if (ticketInfo.isPaid) {
if (ticketInfo.isOver16) {
if (ticketInfo.isVip) {
return true;
} else return 'Not Vip';
} else return 'Not old enought';
} else return 'Need to pay first';
};
,并调用它像这样validateVipTicket({isPaid: true, isOver16: true, isVip: true});
但 让我们假设并不重要指定发生了什么错误,我只是想要一个真或假,然后,什么方法会更快?
if (ticketInfo.isPaid) {
if (ticketInfo.isOver16) {
OR
if (ticketInfo.isPaid && ticketInfo.isOver16) {
在第一种情况,第一个属性将被选中,当它完成,第二个属性将被检查。在第二种情况中,第一个属性将被检查,第二个属性将被检查,并且它们两个属性将相互比较。这是正确的吗?我错过了什么吗?哪个更快,为什么?
“CPU发生了什么”。好点子。低级别是一个很好的解释。 – Rodmentou