javascript 如何获取返回值?[关闭]

c9x0cxw0  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(129)

已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

2天前关闭。
Improve this question
在JavaScript中,有没有什么方法可以阻止一个函数执行一个动作,但仍然得到它的返回值?我想获取游戏板上某个游戏棋子的当前位置。最好的办法是什么?
下面是我的一些代码:

let pieceOne = document.getElementById('piece-one');
let pieceTwo = document.getElementById('piece-two');
let squares = document.getElementsByClassName('board-square');
let currentPosition1 = 0;
let currentPosition2 = 0;
const board = [
    'recharge',
    'city-garden',
    'earthship',
    'hydroponics',
    'ev-car',
    'greenway',
    'cycle-path',
    'greenspace',
    'hydroelectric',
    'solar-farm',
    'community-work',
    'habitat-survey'
];

function movePiece() {
    let diceRoll = rollDice();
    if (currentPlayer === 'player1') {
        currentPosition1 += diceRoll;
        if (currentPosition1 >= board.length) {
            currentPosition1 -= board.length;
        }
        let currentSquare = squares[currentPosition1];
        currentSquare.appendChild(pieceOne);
        currentPlayer = players[1];
    } else {
        currentPosition2 += diceRoll;
        if (currentPosition2 >= board.length) {
            currentPosition2 -= board.length;
        }
        let currentSquare = squares[currentPosition2];
        currentSquare.appendChild(pieceTwo);
        currentPlayer = players[0];
    } if (currentPlayer = players[1]) {
        return currentPosition1;
    } else {
        return currentPosition2;
    }
}

我不知道这是否可能,但我想返回的值没有骰子滚动或棋子移动。

ghhaqwfi

ghhaqwfi1#

将position定义为一个var,赋予它全局范围。将movePosition()与getPosition()分开。这里的诀窍是使位置全局化。let将在其范围内定义变量。当然,你不需要一个函数来获取位置

var position;
movePiece();
console.log(getPosition())
console.log(position);

function movePiece() {
  position = 5;

}

function getPosition() {
  return position;
}

相关问题