Задать вопрос
@alexbog90

Как исправить код, если пропадает значение переменной после завершения функции?

// setting new final score
function settingFinalScore() {
  newFinalScore = +prompt("Please set new Final Score", 100);
  finalScore = newFinalScore;
  alert(newFinalScore);  
  alert(finalScore);
}


Ввожу значение newFinalScore после появления окна prompt, два alert показывают его. Но после завершения этой функции если в консоли прописать newFinalScore или finalScore значениями будет undefined.
Как мне использовать переменную FinalScore и дальше? Спасибо
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
@McBernar
Вынести объявление переменной finalScore за пределы функции.
Тогда функция будет записывать новые значения в нее.
Ответ написан
@nslim13
Наверное вот так:
var finalScore = null;
// setting new final score
function settingFinalScore() {
  let newFinalScore = +prompt("Please set new Final Score", 100);
  finalScore = newFinalScore;
  alert(newFinalScore);  
  alert(finalScore);
}
Ответ написан
Комментировать
Подобное лучше делать через замыкание.
function settingFinalScore() {
  let score = 0;
  return () => {
    score += Math.ceil(prompt('Please set new Final Score', 100));
    return score;
  }
}

const updateFinalScore = settingFinalScore();
const score = updateFinalScore();
console.log(score);

Пример
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы