在Javascript中调用函数时,创建全局变量并生成随机数并更新变量

在Javascript中调用函数时,创建全局变量并生成随机数并更新变量,javascript,html,css,variables,Javascript,Html,Css,Variables,我对这种编码环境有点陌生,并试图通过练习挑战自己 我试图创建名为quoteNumber的全局变量,并在每次调用函数时生成一个随机数并更新此变量 但是,对于下面的代码,每次调用函数quoteNumber变量时,变量都保持不变,并且不会使用新的随机数进行更新 我可以把所有变量放在函数中解决这个问题,但是因为我在不同的函数中使用这些变量,我想我最好为它创建全局变量 你有什么建议 var quotes=[{“quote”:“知识说话,智慧倾听。”,“作者”:“吉米·亨德里克斯”}]; var quot

我对这种编码环境有点陌生,并试图通过练习挑战自己

我试图创建名为quoteNumber的全局变量,并在每次调用函数时生成一个随机数并更新此变量

但是,对于下面的代码,每次调用函数quoteNumber变量时,变量都保持不变,并且不会使用新的随机数进行更新

我可以把所有变量放在函数中解决这个问题,但是因为我在不同的函数中使用这些变量,我想我最好为它创建全局变量

你有什么建议

var quotes=[{“quote”:“知识说话,智慧倾听。”,“作者”:“吉米·亨德里克斯”}];
var quoteNumber=0;
var generatedQuote=quotes[quoteNumber].quote;
var generatedAuthor=quotes[quoteNumber]。作者;
函数引用生成器(){
quoteNumber=Math.floor(Math.random()*80)+1;
document.getElementById(“text”).innerHTML=generatedQuote;
document.getElementById(“作者”).innerHTML=generatedAuthor;
}
函数共享(){
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;

也要更新这些变量。

调用函数时,您正在正确更新
quoteNumber
-变量。但是,
generatedQuote
generatedAuthor
仍然是您从一开始就设置的值。 因此,在将quoteNumber设置为新值后,您必须执行以下操作

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

也要更新这些变量。

什么触发了
quoteGenerator()
?您如何验证它是否保持不变?是什么触发了
quoteGenerator()
?你如何验证它是否保持不变?是的,你是对的。正如您所说,我还更新了generatedQuote和generatedAuthor变量,将它们再次放入函数中。现在它可以工作了:)Thanks必须确保函数中没有包含
var
-关键字。如果您这样做,您将声明只在函数内部更新的局部变量。是的,您是对的。正如您所说,我还更新了generatedQuote和generatedAuthor变量,将它们再次放入函数中。现在它可以工作了:)Thanks必须确保函数中没有包含
var
-关键字。如果这样做,您将声明只在函数内部更新的局部变量。