You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript井字棋verifyVictory函数语法错误求助

井字棋verifyVictory函数语法错误修复

你的代码存在两个关键语法问题,直接导致VS Code标记错误:

  • 赋值/相等判断混淆:所有state.cX = state.cY的写法错误,=是赋值运算符,你需要的是判断相等的==,用=会意外修改state的值,同时逻辑判断完全失效。
  • else if语法结构错误:else if必须把判断条件放在()内,你现在把条件写在了后续的{}里,不符合JavaScript语法规范。

修复后的完整代码:

const verifyVictory = () => {
    if(
        (state.c1 == state.c2 && state.c2 == state.c3 && state.c1 > 0) ||
        (state.c4 == state.c5 && state.c5 == state.c6 && state.c4 > 0) ||
        (state.c7 == state.c8 && state.c8 == state.c9 && state.c7 > 0) ||

        (state.c1 == state.c4 && state.c4 == state.c7 && state.c1 > 0) ||
        (state.c2 == state.c5 && state.c5 == state.c8 && state.c2 > 0) ||
        (state.c3 == state.c6 && state.c6 == state.c9 && state.c3 > 0) ||

        (state.c1 == state.c5 && state.c5 == state.c9 && state.c1 > 0) ||
        (state.c3 == state.c5 && state.c5 == state.c7 && state.c3 > 0) 
    ){
        return true;
    } else if (
        state.c1 != 0 &&
        state.c2 != 0 &&
        state.c3 != 0 &&
        state.c4 != 0 &&
        state.c5 != 0 &&
        state.c6 != 0 &&
        state.c7 != 0 &&
        state.c8 != 0 &&
        state.c9 != 0
    ) {
        return null;
    } else {
        return false;
    }
};

额外提示:如果要更严谨,可使用===严格相等判断(把==换成===,!=换成!==),避免类型转换带来的意外问题。

内容的提问来源于stack exchange,提问作者Kalem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 04:40:52