Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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_For Loop - Fatal编程技术网

Javascript执行未进入循环

Javascript执行未进入循环,javascript,for-loop,Javascript,For Loop,我在执行JS代码时遇到了一个非常奇怪的问题。我的代码执行没有为循环输入,并且控制台中没有错误。当我试图通过直接在控制台中键入来执行循环时,它正在执行。以下是循环: for(var x = 0; x <= distance; x++) { var yMinusY1Sq = distance*distance - (x - startX)*(x - startX) var yMinusy1Cal = parseInt(Math.sqrt(yMin

我在执行JS代码时遇到了一个非常奇怪的问题。我的代码执行没有为循环输入
,并且控制台中没有错误。当我试图通过直接在控制台中键入来执行循环时,它正在执行。以下是循环:

for(var x = 0; x <= distance; x++) {
            var yMinusY1Sq = distance*distance - (x - startX)*(x - startX)
            var yMinusy1Cal = parseInt(Math.sqrt(yMinusY1Sq));
            console.log(yMinusY1Sq, yMinusy1Cal);
            if((yMinusY1Sq == yMinusy1Cal*yMinusy1Cal)) {
                y = yMinusY1Cal + startY;
                var point = document.createElement("div");
                point.className = "output-point";
                point.style.height =  (grid.offsetHeight/16).toString() + "px";
                point.style.width =  (grid.offsetWidth/16).toString() + "px";
                outputPoints.appendChild(point);
                point.style.top = y*oneBoxY;
                point.style.left = (x+startX)*oneBoxX;
                isodistancePoints.push(point);
            }
        }

您面临的问题在控制台中。记录的是引用,而不是对象的时间值

请注意,如果您登录对象 最新版本的Chrome和Firefox,您可以登录到 console是对对象的引用,对象不一定是 调用console.log()时对象的“值”, 但这是打开控制台时对象的值

解决办法是

console.log(JSON.stringify(distance))


您面临的问题在控制台中。记录的是引用,而不是对象的时间值

请注意,如果您登录对象 最新版本的Chrome和Firefox,您可以登录到 console是对对象的引用,对象不一定是 调用console.log()时对象的“值”, 但这是打开控制台时对象的值

解决办法是

console.log(JSON.stringify(distance))



问题是循环在
else
语句中,语句的
if
有一个名为
distance
的局部变量。我仍然不知道错误的确切原因,因为执行不应该进入
if
,因为它的条件不满足,但是重命名变量起作用了,现在我得到了所需的输出。但是如果有人知道确切的原因,请发表评论。

问题在于循环在
else
语句中,并且该语句的
if
有一个名为
distance
的局部变量。我仍然不知道错误的确切原因,因为执行不应该进入
if
,因为它的条件不满足,但是重命名变量起作用了,现在我得到了所需的输出。但是如果有人知道确切的原因,请发表评论。

@HienNguyen有点问你为什么要发表评论?Op明确表示控制台中没有错误,并且没有记录。我不认为问题在于不知道如何在这里打开控制台:Pif另一个console.log放在循环之前,它正在打印,您正在打印什么?您是否正在打印距离?它肯定是
=1
还是一个数字(确保它不是一个字符串)请编辑您的问题,并向我们展示您声明
距离变量的部分,这样我们就可以在这成为一个无休止的注释列表之前查看它是否在其应在的范围内,请编辑您的问题,并按照以下确切顺序显示给我们:
距离
声明<代码>初始化()
函数调用。循环初始化。当我们有了这些信息,我们就可以找到问题的根源。@ShantanuShinde请创建一个或您的问题,以便人们能够更好地帮助您。目前,你缺乏背景,所以我们只是在猜测game@HienNguyen有点问你为什么这么说?Op明确表示控制台中没有错误,并且没有记录。我不认为问题在于不知道如何在这里打开控制台:Pif另一个console.log放在循环之前,它正在打印,您正在打印什么?您是否正在打印距离?它肯定是
=1
还是一个数字(确保它不是一个字符串)请编辑您的问题,并向我们展示您声明
距离变量的部分,这样我们就可以在这成为一个无休止的注释列表之前查看它是否在其应在的范围内,请编辑您的问题,并按照以下确切顺序显示给我们:
距离
声明<代码>初始化()
函数调用。循环初始化。当我们有了这些信息,我们就可以找到问题的根源。@ShantanuShinde请创建一个或您的问题,以便人们能够更好地帮助您。目前,你缺乏背景,所以我们只是在玩一个猜测游戏,不能解决问题。我已经在循环之前调用的函数中定义了全局变量,但在循环期间,该值仍显示为未定义。如果有人在注释中写您,则代码中的另一个位置会出现问题。至少现在您可以调试它,并确保打印的内容是当时变量的值。寻找具有相同名称的局部变量(盖过全局变量)或运行顺序不是您所期望的。虽然您答案中的信息确实有用,但我同意@ShantanuShinde的说法,即它没有回答问题。鉴于问题中缺少信息,这是我能提供的最佳解决方案(找到根本原因的工具)这并不能解决问题。我已经在循环之前调用的函数中定义了全局变量,但在循环过程中,该值仍显示为未定义。如果有人在注释中写您,那么您在代码的另一个地方遇到了问题。至少现在您可以对其进行调试,并确保打印的内容与变量的值相同那一次。寻找同名的局部变量(盖过全局变量)或者运行顺序不是您期望的。虽然您答案中的信息确实有用,但我同意@ShantanuShinde的观点,即它没有回答问题。鉴于问题中缺少信息,这是我能提供的最佳解决方案(找到根本原因的工具)
console.log(`${distance}`)