簡體   English   中英

整數到字符串,我該如何解決以下錯誤:“TypeError: Can't convert undefined to object”?

[英]Integer to String, How can I fix the following error: "TypeError: Can't convert undefined to object"?

我正在嘗試將我的整數從numGenerated轉換為 String。 這樣我就可以將它添加到 HTML el 中以顯示在屏幕上。

每當我運行代碼時,當我使用toString()TypeError: can't convert undefined to object時,它返回undefined ,當我拆分numGenerated 時 我曾嘗試使用toString()函數,但我得到了undefined拋出。

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>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8" />
    <title>Betting Project</title>
    <link rel="stylesheet" href="betting.css" />
  </head>
  <body>
    <div class="cash_total">
      <p>Your balance is: <span id="amount"></span>.</p>
    </div>
    <h1 style="text-align: center;">BET NOW</h1>
    <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>

這是因為在這一行中:

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("");
}

工作演示:

 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"> <p>Your balance is: <span id="amount"></span>.</p> </div> <h1 style="text-align: center;">BET NOW</h1> <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>

上面的代碼片段手動調用了這兩個函數,但將它們綁定到按鈕單擊是有意義的,如下所示:

<button id="random" onclick="highLow()">Randomise</button>
<button id="update" onclick="updateDisplay()">Update Display</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM