Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.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 函数在参数可用之前运行_Javascript_Html_Css_Sass - Fatal编程技术网

Javascript 函数在参数可用之前运行

Javascript 函数在参数可用之前运行,javascript,html,css,sass,Javascript,Html,Css,Sass,我正在用HTMl CSS(SCSS)和JS做一个井字游戏,我遇到了一些麻烦。我有一个向每个网格空间添加X或O的函数,但它在拥有正确的参数进行ir之前就自动添加了X或O,但它做得很好(ish)。有人能帮忙吗 我也有 我的HTML: <div class="wrap"> <div class="piece one"></div> <div class="piece two"></div> <

我正在用HTMl CSS(SCSS)和JS做一个井字游戏,我遇到了一些麻烦。我有一个向每个网格空间添加X或O的函数,但它在拥有正确的参数进行ir之前就自动添加了X或O,但它做得很好(ish)。有人能帮忙吗

我也有

我的HTML:

    <div class="wrap">
      <div class="piece one"></div>
      <div class="piece two"></div>
      <div class="piece three"></div>
      <div class="piece four"></div>
      <div class="piece five"></div>
      <div class="piece six"></div>
      <div class="piece seven"></div>
      <div class="piece eight"></div>
      <div class="piece nine"></div>
    </div>
还有我的JS:

    let x = true,
      o = false,
      AI = false,
      easy = true,
      med = false,
      hard = false;
    const one = document.querySelector(".one"),
      two = document.querySelector(".two"),
      three = document.querySelector(".three"),
      four = document.querySelector(".four"),
      five = document.querySelector(".five"),
      six = document.querySelector(".six"),
      seven = document.querySelector(".seven"),
      eight = document.querySelector(".eight"),
      nine = document.querySelector(".nine"),
      X /* The diference between this X and the other x is that this one         is capitalized, same w/ the O and o */ = "<div class='x'><div class='lineOne line'></div><div class='lineTwo line'></div></div>",
      O = "<div class='o'></div>";

    one.addEventListener("click", function() {
      console.log("goodness happened")
    })

    const tic = function(square) {
      console.log("test 1 success");
      if (x === true) {
        square.innerHTML = X;
        x = false;
        o = true;
      }
      else {
        square.innerHTML = O;
        x = true;
        o = false;
      }
    }

    one.addEventListener("click", tic(one), false)
    two.addEventListener("click", tic(two), false)
    three.addEventListener("click", tic(three), false)
    four.addEventListener("click", tic(four), false)
    five.addEventListener("click", tic(five), false)
    six.addEventListener("click", tic(six), false)
    seven.addEventListener("click", tic(seven), false)
    eight.addEventListener("click", tic(eight), false)
    nine.addEventListener("click", tic(nine), false)
设x=true,
o=假,
AI=假,
简单=正确,
med=假,
硬=假;
const one=document.querySelector(“.one”),
two=document.querySelector(“.two”),
三=document.querySelector(“.three”),
four=document.querySelector(“.four”),
five=document.querySelector(“.five”),
六=document.querySelector(“.six”),
seven=document.querySelector(“.seven”),
八=document.querySelector(“八”),
九=document.querySelector(“.nine”),
X/*这个X和另一个X之间的区别在于,这个X是大写的,相同的w/O和O*/=“”,
O=“”;
addEventListener(“单击”,函数(){
console.log(“发生的好事”)
})
常数=函数(平方){
控制台日志(“测试1成功”);
如果(x==true){
square.innerHTML=X;
x=假;
o=真;
}
否则{
square.innerHTML=O;
x=真;
o=假;
}
}
一个。添加事件列表器(“单击”,tic(一个),false)
两个。添加事件列表器(“单击”,tic(两个),false)
三.添加事件列表器(“单击”,tic(三),false)
四.添加的文本列表(“单击”,tic(四),false)
5.添加事件列表(“单击”,tic(5),false)
6.添加事件列表器(“单击”,tic(六),false)
7.添加事件列表(“单击”,tic(seven),false)
8.添加的事件列表器(“单击”,tic(8),false)
九.添加的列表器(“单击”,tic(九),false)

对不起,太多了。我只想告诉你全部情况。提前谢谢

如果要调用函数而不是引用它,请将所有事件处理程序改为使用匿名函数

one.addEventListener("click", function() {
    tic(one)
}, false);

谢谢这就是我需要的。
one.addEventListener("click", function() {
    tic(one)
}, false);