我在这里有此代码:
if (message.channel.id === "624637964827492352") {
if (message.content === '/start'){
var maf = 1
console.log('Game Started')
console.log(maf)
}
if (message.content === '/in'){
console.log(maf)
}
}
如果键入/start
,它将产生变量maf = 1
,然后将变量值记录为1,并记录字符串'Game Started'
。当我键入/in
时,它将maf
记录为undefined
。为什么它不保持为1
?我对为什么要重置变量感到非常困惑!一般来说,我对Discord编码和Java脚本也很陌生。
谢谢!
答案 0 :(得分:1)
如果此代码位于函数内部(并且可能在函数内部),则由于变量的范围,当函数退出时,该函数中定义的变量将被丢弃。
要永久存储值,请在该函数之外定义它:
var a; //Declare variable outside
function someFunction(){
if (message.channel.id === "624637964827492352") {
if (message.content === '/start'){
maf = 1
console.log('Game Started')
console.log(maf)
}
if (message.content === '/in'){
console.log(maf)
}
}
}