我正在编写一个简单的原生js应用程序似乎可以工作,但我注意到一些有趣的事情,而我在浏览器中踩过debuger
它说我的var id没有定义?我明白我的意思是我希望在控制台中看到这个,但在调试器中?
var playerScore = [0,0];
var player = 0;
var score = 0;
var troll = 0;
function rollDice() {
var dice = 0;
dice = Math.floor((Math.random() * 6) + 1);
return dice;
}
function playerTurn() {
player === 0 ? player = 1 : player = 0;
// score = 0;
}
function turnScore() {
rollDice() !== 1 ? score += rollDice() : playerTurn();
return score;
}
function gameScore() {
troll = playerScore[player] += turnScore();
return troll
}
document.getElementById('rollDice').addEventListener('click', function () {
document.getElementById('round-score-' + player).innerHTML = turnScore();
});
document.getElementById('saveScore').addEventListener('click', function () {
document.getElementById('score-' + player).innerHTML = gameScore();
});
document.getElementById('newGame').addEventListener('click', function () {
document.getElementById('score-0').textContent = '0';
document.getElementById('score-1').textContent = '0';
document.getElementById('round-score-0').textContent = '0';
document.getElementById('round-score-1').textContent = '0';
});
有人可以解释发生了什么吗
答案 0 :(得分:0)
如果您没有调用rollDice(),则骰子不会声明和初始化。如果你调用rollDice()函数,你可以从它的范围调用dice范围dice是一个局部变量,它只能在rollDice()函数中访问。使用以下来获取返回值
var anotherVariable = rollDice();