簡體   English   中英

Javascript 模板文字不適用於隨機數生成器

[英]Javascript templete literals not working with random number generator

我正在嘗試生成一個隨機數,然后如果用戶輸入相同的數字,他可以向前移動,否則它將生成另一個隨機數。 但是生成隨機 num (a) 的模板文字不起作用。

var a = Math.floor(Math.random()*10); // Random num generator
    var userInput = alert('Enter the numbers: ${a}'); // User input
    
    while ( userInput !== a){ // Loop
        alert("Try Again!");
        userInput = alert('Enter the numbers: ${a}');
    };

您的代碼中有一些可以改進的地方。

  • 將數字變量命名為a而不是n令人困惑。
  • 在您的情況下(不是所有情況), Math.floor可以縮短為~~
  • 您從prompt獲得用戶輸入,而不是alert ,它僅顯示一條消息。
  • 您正在使用嚴格相等!==運算符將您的隨機數與用戶的輸入進行比較,該輸入始終是String形式的數字。 所以即使他們輸入了正確的數字,它也會被解釋為不正確的,因為'3'並不嚴格等於3 你必須使用!=代替。
  • 不需要userInput變量,因為您只用它做一件事。 只需在while循環的條件內內聯prompt
  • 因為n永遠不會改變,所以用const聲明它,這樣如果你以后不小心嘗試改變它,你會得到一個錯誤來提醒你注意。
  • 正如有人在評論中指出的那樣,字符串文字使用` ,而不是'

 const n = ~~(Math.random() * 10); while (prompt(`Enter the number: ${n}`);= n) { alert('Try again;'); };

暫無
暫無

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

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