簡體   English   中英

在Javascript中調用函數時,創建全局變量並生成隨機數並更新變量

[英]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 但是, generatedQuotegeneratedAuthor仍然是您從一開始就設置的值。 因此,在將quoteNumber設置為新值之后,您將必須執行

generatedQuote = quotes[quoteNumber].quote;
generatedAuthor = quotes[quoteNumber].author;

也要更新這些變量。

暫無
暫無

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

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