Javascript 我如何使用if…;其他条款?

Javascript 我如何使用if…;其他条款?,javascript,ternary-operator,conditional-operator,Javascript,Ternary Operator,Conditional Operator,我想知道如何用if&else语法编写这个函数 itemsArr.sort(function (a, b) { return a.innerHTML == b.innerHTML ? 0 : (a.innerHTML > b.innerHTML ? 1 : -1); }); 但为什么要这样做? 但为什么要这样做?看起来是这样的: function isGreater(a,b){ if(a.innerHTML == b.innerHTML){ return 0;

我想知道如何用if&else语法编写这个函数

itemsArr.sort(function (a, b) {
    return a.innerHTML == b.innerHTML ? 0 : (a.innerHTML > b.innerHTML ? 1 : -1);
});
但为什么要这样做?


但为什么要这样做?看起来是这样的:

function isGreater(a,b){
   if(a.innerHTML == b.innerHTML){
     return 0;
   } else if(a.innerHTML > b.innerHTML){
          return 1;
   }else{
       return -1;
   }
}
您也可以在不使用
else
的情况下编写它,因为
返回将退出函数:

itemsArr.sort(function(a, b) {
  if (a.innerHTML == b.innerHTML) {
    return 0;
  } else if (a.innerHTML > b.innerHTML) {
    return 1;
  } else {
    return -1;
  }
});

看起来是这样的:

function isGreater(a,b){
   if(a.innerHTML == b.innerHTML){
     return 0;
   } else if(a.innerHTML > b.innerHTML){
          return 1;
   }else{
       return -1;
   }
}
您也可以在不使用
else
的情况下编写它,因为
返回将退出函数:

itemsArr.sort(function(a, b) {
  if (a.innerHTML == b.innerHTML) {
    return 0;
  } else if (a.innerHTML > b.innerHTML) {
    return 1;
  } else {
    return -1;
  }
});

仅供参考,这是一个三元运算符,但它的实际名称是“条件运算符”。仅供参考,这是一个三元运算符,但它的实际名称是“条件运算符”。我正在学习这个主题,我看到了这个帖子:@YoniGeek:那么你应该对@nickf发表评论,而不是给出答案,然后在这里提问。我正在学习这个主题,我看到了这个帖子:@YoniGeek:那么你应该对@nickf发表评论,而不是给出答案回答问题,然后在这里提问。@Yoni-正如其他人指出的,当您使用return时,其他人的是可选的。@Yoni,请单击向上/向下投票下的绿色Vnumbers@Yoni-正如其他人所指出的,当您使用return时,else是可选的。@Yoni,请单击upvote/downvote数字下的绿色V
function(a, b) {
   returnType returnValue;

   if(a.innerHTML == b.innerHTML){
    returnValue = 0;
   }else if(a.innerHTML > b.innerHTML){
    returnValue = 1
   }else{
    returnValue = -1
   }

   return returnValue;
}