JavaScript 对象键未分配给变量?

JavaScript Object Key is not being assigned to variable?

我试图将 boxSpaces[0] 的值赋给函数 decalreWinner() 中的变量结果,但赋值没有发生。

function assignSpace(mark, box) {
    const image = document.createElement("img");
    const src = mark === "x" ? X_IMAGE_URL : O_IMAGE_URL;
    image.src = src;
    box.appendChild(image);
    box.removeEventListener("click", changeToX);
    const id = parseInt(box.dataset.id);
    boxSpaces[id] = mark;
}

function isGameOver() {
    const length = emptyBoxes.length;

    if (length <= 0) {
        declareWinner();
        return true;
    } else {
        false;
    }
}

function declareWinner() {
    const result = "";
    if (boxSpaces["0"] === boxSpaces["1"] && boxSpaces["1"] === boxSpaces["2"]) {
        result = boxSpaces["0"];
        console.log(result);
    }

    return result;
}

您正在使用 const 声明一个变量,并且您正在尝试更新它,但这是不可能的。将其更改为 letvar

function declareWinner() {
  let result = ""; //change it to let or var
  if (boxSpaces["0"] === boxSpaces["1"] && boxSpaces["1"] === boxSpaces["2"]) {
    result = boxSpaces["0"];
    console.log(result);
  }

  return result;
}