所以,我在函数之前输入变量,以便让它们随着每个函数调用而增长。但是当我试图打印它们或在计算中使用它们时,JS 返回 NaN 或 undefined。从函数外部调用时,一切正常。我错过了什么?
更新:哦,代码!
Upd2:通过使用各种方式声明 var 我仍然得到 NaN 和 undefined ,同时用 8+9 输出测试它。使用 window.GLD 和 GLD = 0 而不是 var GLD = 0; 据我所知,我可以在没有 var 函数的情况下声明它,并且不会在这个函数之外影响它。但是我如何从函数外部拖动变量?
Upd3:在尝试使用 var GLD=GLD+1 (在函数内部声明它)后,我仍然得到 NaN。所以最后一个问题:我如何从外部获取变量内容到函数中?
var depth = 0;
var maxHP = 10;
var currentHP = 10;
var DMG = 2;
var ARM = 1;
var GLD = 0;
var currentExp = 0;
var neededExp = 5;
var GobHP = 2;
var GobHPMax = 2;
var CurrentGobHP=2
var GobDMG = 1;
var GobDEF = 0;
var GobBSInc = 2;
var GobexpInc = 2;
var GobDmgDone = 1;
var dmgDone=0;
var wpnTier=0;
var turn=1;
var nextEvent=0;
document.getElementById("statusChar").innerHTML="HP: "+currentHP+"/"+maxHP+" DMG: "+DMG+" ARM: "+ARM+" GLD: "+GLD+" EXP: "+currentExp+"/"+neededExp+" Depth: "+depth;
//It's ok here - code dosent goes NaN or undefined
function goDeeper()
{ depth++;
document.getElementById("statusChar").innerHTML="HP: "+currentHP+"/"+maxHP+" DMG: "+DMG+" ARM: "+ARM+" GLD: "+GLD+" EXP: "+currentExp+"/"+neededExp+" Depth: "+depth;
// and here it dies. Prompt to stop it from going to next step.
prompt();