【发布时间】:2016-05-17 20:55:14
【问题描述】:
由于某种原因,函数updateScore(result) 中的算术不能正常工作(稍后在代码中调用该函数)。 wins、ties 和 losses 按原样打印,但 lives 打印为 NaN。我知道 NaN 是什么意思。我还发现,出于某种原因,这些变量被创建为字符串。对我来说奇怪的是,它适用于五分之四的变量。没有一致性。我已经尝试使用Number(lives) 进行一些数字转换,但这也不起作用。关于如何确保将变量创建为数字并且算术运算有效的任何建议?
var wins = 0,
ties = 0,
losses = 0,
lives = 5,
previouscpuChoice = 0;
$("#startknapp").click(function(){
var spiller = prompt("Hva heter du?");
$("#userSelect").html(userMenu);
$("#result").html("<h4>Velg figur, " + spiller + "</h4>");
$("#status").html('<h4>Liv: <span id="life">' +lives+ '</span> - Seire: <span id="win">' + wins + '</span> - Uavgjort: <span id="tie">' + ties + '</span> - Tap: <span id="lose">' + losses + '</span>');
console.log(typeof "lives");
console.log(typeof "wins");
});
function updateScore(result) {
tie = document.getElementById("tie");
win = document.getElementById("win");
lose = document.getElementById("lose");
lives = document.getElementById("life");
console.log(typeof "wins");
var imgSrc = "images/" + userChoice + "-" + result + ".png";
if (result === "tie") {
ties = ties + 1;
tie.innerHTML = ties;
$('.result-img').attr('src', 'images/tie.png');
}
if (result === "vant") {
wins++;
$('.result-img').attr('src', imgSrc);
}
if (result === "tapte") {
losses++;
lives--;
lose.innerHTML = losses;
life.innerHTML = lives;
$('.result-img').attr('src', imgSrc);
}
};
【问题讨论】:
-
getElementById 返回 DOM 元素,而不是输入的值。我建议你现在不要写 vanilla JS,改用 jQuery 之类的 JS 库。
标签: javascript string variables numbers integer