Integer to String -> Как я могу исправить следующую ошибку: «TypeError: Невозможно преобразовать undefined в объект»

Я пытаюсь преобразовать мое целое число из numGenerated в строку. Таким образом, я могу добавить его в HTML-код для отображения на экране.

Всякий раз, когда я запускаю код, он возвращает неопределенный, когда я использую toString (), или TypeError: не могу преобразовать неопределенный в объект, когда я разделяю numGenerated Я попытался с помощью функции toString (), но я получаю неопределенный обратно.

var numGenerated;
var x = document.querySelector('#generated_number').innerHTML = "".split.call(numGenerated,"").join("");

function highLow(){
    var storeNum = Math.floor(Math.random() * 11) + 0;
    numGenerated = storeNum;
}

Я ожидаю получить возвращенную строку, которую можно использовать в элементе HTML для отображения результата.

Вот HTML-код:

<!DOCTYPE HTML>

    <head>
        <meta charset="utf-8">
        <title>Betting Project</title>
        <link rel="stylesheet" href="betting.css">
    </head>
   <body>
        <div class="cash_total">
Your balance is: .

</div>

BET NOW

    <div class="bet_amount">
        <button class="five" value="5">5</button>
        <button class="ten" value="10">10</button>
        <button class="fifty" value="50">50</button>
        <button class="hundred" value="100">100</button>
    </div>
    <div id="generated_number"></div>
    <div class="buttonHolder" style="text-align: center;">
        <button id="lower">LOWER</button>
        <button id="higher">HIGHER</button>
    </div>
    <script src="betting.js"></script>
</body>
</html>
1
de
Вы нигде не вызываете highLow() , и numGenerated никогда не получает значение.
добавлено автор Aioros, источник
Пожалуйста, добавьте ваш соответствующий код HTML
добавлено автор JBDouble05, источник
Просто добавил это. Спасибо за комментарий.
добавлено автор Daniel, источник

1 ответы

Это потому, что в этой строке:

var x = document.querySelector('#generated_number').innerHTML = "".split.call(numGenerated,"").join("");

Вы присваиваете переменную присваиванию другой переменной - вам даже не нужно x . Удалите var x = , а затем, чтобы исправить следующую ошибку, поместите строку внутри функции:

function updateDisplay() {
    document.querySelector('#generated_number').innerHTML = "".split.call(numGenerated,"").join("");
}

Рабочая демонстрация:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

var numGenerated;

function updateDisplay() {
  document.querySelector('#generated_number').innerHTML = "".split.call(numGenerated, "").join("");
}

function highLow() {
  var storeNum = Math.floor(Math.random() * 11) + 0;
  numGenerated = storeNum;
}

highLow();
updateDisplay();
<div class="cash_total">
  
Your balance is: .

</div>

BET NOW

<div class="bet_amount">
  <button class="five" value="5">5</button>
  <button class="ten" value="10">10</button>
  <button class="fifty" value="50">50</button>
  <button class="hundred" value="100">100</button>
</div>
<div id="generated_number"></div>
<div class="buttonHolder" style="text-align: center;">
  <button id="lower">LOWER</button>
  <button id="higher">HIGHER</button>
</div>
</div> </div>

Приведенный выше фрагмент кода вызывает обе функции вручную, но имеет смысл привязать их к нажатию кнопки следующим образом:

<button id="random" onclick="highLow()">Randomise</button>
<button id="update" onclick="updateDisplay()">Update Display</button>
1
добавлено
Большое спасибо! Это сделало работу. У вас также есть объяснение, почему .toString() и "" .split.call (numGenerated, "") .join (""); Дайте разные ошибки? Разве они по сути не делают то же самое?
добавлено автор Daniel, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском

Infernal Math
Infernal Math
389 участник(ов)

http://www.zepta.ru/index.php?title=Заглавная_страница Приглашение в чат: https://t.me/matheden

comput.math
comput.math
289 участник(ов)

Прикладная математика и численные методы. Без оффтопа, рекламы, флуда. Вышмат: @higher_math Физика: @physpub Новичкам: @starter_math @JuliaLanguage @rlang_ru Книги брать здесь: libgen.io И по хештегу #book

higher.math
higher.math
234 участник(ов)

Higher mathematics / высшая математика Подборка книжек: https://ru.stackoverflow.com/a/683632/1084 Вычмат: @comput_math Физика: @physpub LaTeX: @pro_latex

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing

Starter Math
Starter Math
79 участник(ов)

Для тех, кто боится спросить в @higher_math Вычмат: @comput_math Физика: @physpub