JavaScript: функции ничего не возвращают (vscode + Quokka. js) - PullRequest
0 голосов
/ 03 апреля 2020

Я практикую JavaScript (только что начал на этой неделе) на Visual Studio Code с расширением Quokka. js. Я начал изучать функции, это мой первый код:

function calculateTip(price, percentage) {
    console.log('calculating tip')
return (percentage/100) * price;
}

calculateTip(50, 18);

Эта функция, приведенная выше, печатает только текст «расчетный совет». Он ничего не возвращает (никакого результата из расчета: процент / 100 * цена), хотя я написал код возврата.

// function expression
var divideByN = function(number, n) {
return number / n;
}

divideByN(18, 3);

Вышеприведенное выражение функции мне ничего не возвращает (оно должно возвращать 18/3).

// anonymous function
(function(number, n) {
console.log('I am an expression');

return number / n;
})(18, 3);

Приведенная выше анонимная функция печатает только текст «Я - выражение». Он должен возвращать число / n.

Итак, console.log вроде бы работает нормально, но функции / возвращают вычисления сами по себе нет. По крайней мере, они не возвращают никаких чисел или текста, даже не определены или ошибки или NaN. Что может быть причиной этого в vscode + Quokka. js? Есть ли у вас альтернативные варианты изучения JS функций в vscode?

( ключевые слова и ключевые фразы функция не возвращает ничего, ничего не возвращается из функции, функция не возвращается, функция ничего не печатает, javascript функция ничего не возвращает, javascript функция без возврата, javascript функция не работает, javascript функции не работают в vscode)

1 Ответ

1 голос
/ 03 апреля 2020

Вам нужно вывести свои результаты, чтобы увидеть их. Функция возвращает значения, но вы не выводите, что подтверждается вызовом console.log внутри этих функций. Используйте console.log, чтобы увидеть их вживую в файле с помощью Quokka. Это возможно дублировать, но я не смог найти этот вопрос.

console.log(calculateTip(50, 18))
console.log(divideByN(18, 3))
console.log(
  // anonymous function
  (function(number, n) {
    console.log('I am an expression');

    return number / n;
  })(18, 3)
)

...