为什么此IIFE返回错误未定义



为什么返回:未捕获引用错误:未定义winConditions?

我在函数中返回winConditions,然后运行函数,然后运行console.log(winConditions(,为什么它不起作用?

const gameBoard = (() => {


const board = [null, null, null, null, null, null, null, null, null]
let applyWinConditions = () => {  
const winConditions = [[board[0], board[1], board[2]], [board[3], board[4], board[5]],
[board[6], board[7], board[8]], [board[0], board[3], board[6]],
[board[1], board[4], board[7]], [board[2], board[5], board[8]],
[board[0], board[4], board[8]], [board[2], board[4], board[6]]];
console.log("e")
return {
winConditions
}
};
applyWinConditions();
console.log(winConditions)
return {
applyWinConditions: applyWinConditions,
}
})();

您似乎试图记录一个超出范围的变量。

winConditions是在applyWinCconditions中定义的,因此在外部不可用,console.log可以查看它。

试试这样的东西:

console.log("winConditions", applyWinConditions());

您应该看到函数的返回,其中winConditions具有您期望的值。

最新更新