gpt4 book ai didi

javascript - 为什么我的全局变量在我的函数中不可用?

转载 作者:行者123 更新时间:2023-11-30 12:55:12 26 4
gpt4 key购买 nike

当您运行脚本时,我注意到您写出的变量只运行一次。另一方面,函数可以被多次调用。

有没有办法像函数一样多次调用一个变量?抱歉,没有代码,只是一个问题。

编辑:澄清一下,我有一个用于函数的全局变量。然而,当我尝试从一个单独的函数调用这个变量时,它没有注册,因为它现在被认为是“本地的”。

但是,如果我可以随意调用全局变量,那么我相信这会解决问题。

// BLITZ SKILL  // <-- My 2nd Function trying to use my global variable counter
document.getElementById("blitz").addEventListener('click', function(){
var counter = setInterval(timer, 1000); // Trying to restart timer, does
// not register counter variable.
var damage = Math.floor(Math.random() * characterstats.strength);
document.getElementById("energy").innerHTML = character.energy;

if ((damage <= 0) && (character.energy >= 5)) {
addMessage("You miss the dragon!");
character.energy -= 5;
}

else if (character.energy <= 4) {
addMessage("Not enough energy!")
}

if ((damage >= 1) && (character.energy >= 5)) {
dragon.hp -= damage;
document.getElementById("npchp").innerHTML = dragon.hp;
addMessage("You hit the dragon for " + damage + " hp!");
character.energy -= 5;
}
document.getElementById("energy").innerHTML = character.energy;
});

// 7. CODE TESTING AREA
var counter = setInterval(timer, 1000); <-- MyGlobal Variable

function timer() { //
var count = character.energy;
count += characterstats.energyregen;
if (count >= 35) {
clearInterval(counter);
}
document.getElementById("energy").innerHTML = count;
character.energy = count;
}

最佳答案

您正在使用 var 在函数中创建一个名为 counter 的新局部变量。

像这样引用全局而不使用定义新变量的“var”,

document.getElementById("blitz").addEventListener('click', function(){
counter = setInterval(timer, 1000); // <-- Trying to restart timer, does not
...

关于javascript - 为什么我的全局变量在我的函数中不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19416646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com