如何在给定情况下理解addEventListener的范围?

时间:2018-12-22 20:43:12

标签: javascript addeventlistener

我是javaScript的初学者,并且正在构建一个项目来修改我的学习内容。我写了下面显示的代码::

for(var i = 0; i<sqrs.length;i++)
{
 sqrs[i].addEventListener("click",function()
 {
    if(sqrs[i].style.backgroundColor === chosenColor )  
    {
        nextMove.textContent = "Correct";
        for(var j = 0;j<sqrs.length;j++)
            {
                sqrs[j].style.backgroundColor = chosenColor;
            }
    }
    else
    {
    nextMove.textContent = "Try Again!!";
    sqrs[i].style.backgroundColor = "rgb(23, 23, 23)";
    }
 });
}

控制台显示一个错误,指出未定义sqrs[i](在匿名函数内部)。但是,当使用this关键字代替sqrs[i]时,它可以完美运行。在这种情况下,我应该如何理解addEventListener函数的范围?

0 个答案:

没有答案