Здравствуйте!
Результат кода - undefined. Подскажите, пожалуйста, как правильно использовать тернарные операторы в JS-функциях и вообще можно ли их использовать таким образом?
var f = function fact(x) {x <=1 ? 1 : x * fact(x-1)};
document.write(f(3));
Вы забыли вернуть из функции значение
var f = function fact(x) { return x <= 1 ? 1 : x * fact(x-1)};
document.write(f(3));
Вариант в стиле шик-модерн:
const f = x => x <= 1 ? 1 : x * f(x-1);
console.log(f(3));
Тернарный оператор в JavaScript (?:) - это оператор принимающий три операнда. Он часто используется в качестве укороченного варианта условного оператора if
. Ваш код вполне рабочий, только функция ничего не возвращает, поэтому у вас undefined
.
var f = function fact(x) {
return x <= 1 ? 1 : x * fact(x - 1)
};
document.write(f(3));
Можно еще так сделать ваш вариант кода, без переменной f
:
function fact(x) {
return x <= 1 ? 1 : x * fact(x - 1)
};
document.write(fact(3));
Можно почитать:
Всем привет, столкнулся с проблемой вывода в формате JSON в NodeJSМожет я как-то не так это делаю? Формирую объект prod собирая данные из массива...
Нужно по нажатию на кнопку присвоить ей(кнопке) backgroundColor на один из цветов радугиЯ сделал это следующим образом