Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery中奇怪的变量变化_Javascript_Jquery - Fatal编程技术网

Javascript jQuery中奇怪的变量变化

Javascript jQuery中奇怪的变量变化,javascript,jquery,Javascript,Jquery,我正在运行这个JS/jQuery代码,来制作一个简单的“Tic-Tac-Toe”游戏,我已经用纯Javascript做过了。我放置了一些console.log函数进行检查,当我单击任何按钮时函数启动,我意识到在循环之后,即使循环中的值是正确的(1到9),也有少数ramining函数的值是错误的。我被困在这里了,有人能帮我吗 var player = "O", tabo = [[1,2,3],[4,5,6],[7,8,9]], i = 0, j = 0; $('button').click(f

我正在运行这个JS/jQuery代码,来制作一个简单的“Tic-Tac-Toe”游戏,我已经用纯Javascript做过了。我放置了一些console.log函数进行检查,当我单击任何按钮时函数启动,我意识到在循环之后,即使循环中的值是正确的(1到9),也有少数ramining函数的值是错误的。我被困在这里了,有人能帮我吗

var player = "O", tabo = [[1,2,3],[4,5,6],[7,8,9]], i = 0, j = 0;


$('button').click(function () {
    var id = this.id;
    if($('#' + id).text() !== "O" && $('#' + id).text() !== "X") {
        if (player === "O") {
            $('#' + id).text("O");
            player = "X";
        }else{
            $('#' + id).text("X");
            player = "O";
        }
    }else{
        alert("Case déjà prise !");
    }

    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            tabo[i,j] = $("#case" + (j + 1 + (3 * i))).text();
            console.log(tabo[i,j]);
        }
    }
    console.log(tabo[0,0]);
    console.log(tabo[1,0]);
    console.log(tabo[2,1]);
    console.log(tabo[1,1]);
    console.log(tabo[2,0]);
    console.log((tabo[0,0] === tabo[1,0]) +"1");
    console.log((tabo[0,0] === tabo[2,0]) +"2");
    console.log((tabo[1,1] === tabo[0,1]) +"3");
    console.log((tabo[1,1] === tabo[2,1]) +"4");


    if (((tabo[1,1] === tabo [0,0]) && (tabo[1,1] === tabo[2,2]))||
        ((tabo[1,1] === tabo [0,2]) && (tabo[1,1] === tabo[2,0]))||
        ((tabo[0,0] === tabo [0,1]) && (tabo[0,0] === tabo[0,2]))||
        ((tabo[0,0] === tabo [1,0]) && (tabo[0,0] === tabo[2,0]))||
        ((tabo[2,2] === tabo [2,0]) && (tabo[2,2] === tabo[2,1]))||
        ((tabo[2,2] === tabo [0,2]) && (tabo[1,1] === tabo[1,2]))||
        ((tabo[1,1] === tabo [1,0]) && (tabo[1,1] === tabo[1,2]))||
        ((tabo[1,1] === tabo [0,1]) && (tabo[1,1] === tabo[2,1]))) {
        alert(player + " a gagné !!!");
        //location.reload(true);
    }
});

基于逗号运算符,接下来的指令具有相同的结果

tabo[0,0] == tabo[0] // true
tabo[1,0] == tabo[0] // true
tabo[2,0] == tabo[0] // true
逗号运算符计算其每个操作数(从左到右) 右)并返回最后一个操作数的值


我想您应该检查一下
tabo[I][j]

为什么要加载jQuery三次,包括一次缺少
?”我意识到,在循环之后,即使循环中的值是正确的(从1到9),也有几个Ramining的值是错误的。“要具体。什么是错误的值,什么是正确的值,你在哪里看到它们,等等。还有:不需要在黑暗中用
控制台蹒跚而行。log
手电筒;使用浏览器中内置的功能齐全的调试器打开指示灯。@Xufox至少每次都是相同的版本。。。(或者至少有两个)我只加载了两次,第三次是我的JS文件名。当我把它放在这里时,缺少的“.”是一个输入错误。例如,当我单击第一个按钮时,循环的值是O 2 3 4 5 6 7 8 9,然后,第一个变为7,4变为7,5变为8(五个第一控制台放77887)。如果我单击按钮8,5和8变为OIt实际工作,谢谢。tabo[I][j]当我尝试使用它时,语法返回了erros,但现在它工作得很好(至少是脚本的这一部分)。
    body{
        background-color: aqua;
    }

    button{
        height: 50px;
        width: 50px;
    }
tabo[0,0] == tabo[0] // true
tabo[1,0] == tabo[0] // true
tabo[2,0] == tabo[0] // true