Javascript 在输入if语句时重置变量?

Javascript 在输入if语句时重置变量?,javascript,if-statement,for-loop,Javascript,If Statement,For Loop,我有一个代码,我循环一个图像的所有像素,这包括2个循环: for (x = 1; x < img.width; x++) { visited[x] = new Array(); for (y = 1; y < img.height; y++) { visited[x][y] = false; count = deepCount(img, x, y, visited, 0); if (count > spotSize

我有一个代码,我循环一个图像的所有像素,这包括2个循环:

for (x = 1; x < img.width; x++) {
    visited[x] = new Array();
    for (y = 1; y < img.height; y++) {
        visited[x][y] = false;
        count = deepCount(img, x, y, visited, 0);
        if (count > spotSize) {
            spotX = x;
            spotY = y;
            spotSize = count;
        }
    }
}
(x=1;x{ 已访问[x]=新数组(); 对于(y=1;y光斑大小){ spotX=x; spotY=y; 斑点大小=计数; } } }
这将对所有单词进行编码,直到
if
语句。当我尝试获取变量
x
y
并将它们的值放入新变量时,它们给出
1
的值。但是,如果I
console.log
if语句之前的值,它们会给出另一个数字


看起来变量被重置为for循环中给定的值,因为当我将它们的起始值更改为
“0”
x
y
都返回
0
,因此我的问题是:


在输入if语句时,这些变量怎么可能重置为初始值?

我刚刚测试了一个类似的代码,其中2个用于语句。工作正常,X和Y按预期更改值

函数矩阵(){
var mx=“”;
var xrand=Math.floor(Math.random()*20+2);
var yrand=Math.floor(Math.random()*20+2);
对于(x=1;x矩阵()
x
y
是全局声明的。它们是否在
deepCount
中被覆盖?您能否共享准确(相关)的代码而不是描述?
x
y
不可能在
count>spotSize
处更改它们的值。您需要提供一个真实的值。创建一个的过程可能会为您确定问题所在。@Mouser它们不会在deep count中被覆盖请勿全局声明x和y,并确保deepCount不会更改它们