[英]Create global variable and generate random number and update the variable when the function is called in Javascript
在這個編碼環境中,我有點陌生,並且嘗試通過練習來挑戰自己。
我正在嘗試創建一個名為quoteNumber的全局變量,並生成一個隨機數,並在每次調用該函數時更新此變量。
但是,使用下面的代碼,每次我調用函數quoteNumber變量時都保持不變,並且不會使用新的隨機數進行更新。
我可以解決將所有變量放在函數中的問題,但是由於我在不同的函數中使用這些變量,所以我認為最好為它創建全局變量。
您有什么建議?
var quotes = [{"quote":"Knowledge speaks, but wisdom listens.","author":"Jimi Hendrix"}]; var quoteNumber = 0 ; var generatedQuote = quotes[quoteNumber].quote; var generatedAuthor = quotes[quoteNumber].author; function quoteGenerator () { quoteNumber = Math.floor(Math.random() * 80) + 1; document.getElementById("text").innerHTML = generatedQuote; document.getElementById("author").innerHTML = generatedAuthor; } function share() { document.getElementById("tweet-quote").attr('href', 'https://twitter.com/intent/tweet?hashtags=quotes&text=' + encodeURIComponent('"' + generatedQuote + '" ' + generatedAuthor)); }
附言:我已縮短了報價的變化范圍,並在此放置了不要造成混淆
調用該函數時,您正在正確更新quoteNumber
。 但是, generatedQuote
和generatedAuthor
仍然是您從一開始就設置的值。 因此,在將quoteNumber設置為新值之后,您將必須執行
generatedQuote = quotes[quoteNumber].quote;
generatedAuthor = quotes[quoteNumber].author;
也要更新這些變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.