2014-11-20 6 views
-4

В JavaScript, вместо того, чтобы присваивать результат переменной, возможно ли получить return результат тройной в одной строке кода?Результат возврата от Ternary в одной строке (JavaScript)

например. Вместо этого:

function getColor(val){ 
    var result = val <= 20 ? '#000' : val >= 80 ? '#999' : '#555'; 
    return result; 
} 

Можем ли мы сделать что-то вроде этого ...

function getColor(val){ 
    return val <= 20 ? '#000' : val >= 80 ? '#999' : '#555'; 
} 

Я спрашиваю это потому, что я просто попытался выше, и ничего не было возвращено.

+1

да, можно – FabianCook

+0

ОК, я понимаю, что был очень плохой пример прямо сейчас. Конечно, вы могли бы просто сказать return A> B. Позвольте мне изменить. – Panomosh

+0

Если вы собираетесь использовать 'true' и' false', убедитесь, что все буквы имеют нижний регистр. Не 'True' и' False'. – Andy

ответ

1

Да. Возможно. Также вы можете сделать свой код еще более компактным.

function isAGreaterThanB(){ 
    return a > b; 
} 

Приведенный выше код будет возвращать true если a больше, false если нет.

0

Вы можете просто вернуть то, что a > b оценивает.

function isAGreaterThanB(){ 
    return a > b; 
} 

Как a > b принимает значение ИСТИНА или ЛОЖЬ, вы можете просто вернуть это значение непосредственно.

На самом деле делать это, как вы набрали, - это действительно плохой способ сделать это, и он не слишком усложняется для чего-то такого же основного, как это.

0

Да, это возможно, вы могли бы, например, сказать:

function getBiggerNumber(a, b){ 
    return a > b ? a : b 
} 

эта функция возвращает a если a больше, чем b и b если b больше, чем a.
Просто для полноты картины: Было бы также вернуться b если a и b будет равен

 Смежные вопросы

  • Нет связанных вопросов^_^