Javascript for循环中的奇怪行为,语句未执行

Javascript for循环中的奇怪行为,语句未执行,javascript,jquery,Javascript,Jquery,我将展示我的代码和一些图片来演示这个问题 一个简单的语句(如变量声明或使用log函数)会导致json结果未定义。当我输入文本时,将执行ajax调用并返回数据 更新了这是我的代码作为文本包含。复制和粘贴代码时,缺少大括号的问题非常明显。正如您在图中所看到的,VS 2017并不能帮助您轻松地注意到缺少的大括号,他们可以改进它 for (var i = 0; i < data.length; i++) console.log("some message")

我将展示我的代码和一些图片来演示这个问题

一个简单的语句(如变量声明或使用log函数)会导致json结果未定义。当我输入文本时,将执行ajax调用并返回数据

更新了这是我的代码作为文本包含。复制和粘贴代码时,缺少大括号的问题非常明显。正如您在图中所看到的,VS 2017并不能帮助您轻松地注意到缺少的大括号,他们可以改进它

for (var i = 0; i < data.length; i++)

                   console.log("some message");
               console.log(data[i].titulo);
for(变量i=0;i

删除该声明:

现在检查一下,当for循环中有一个语句时,它似乎只被计算一次

当我接受语句时,“I是x”被执行了更多次


与您使用的json无关。完全关于for循环,不使用花括号

您缺少循环的
{}
。如果没有{},则只有第一条语句属于
for
循环

所以在您的案例1中,您的代码等于

for ( ..) {
 console.log(..);
}
console.log(data[i]...)
 for ( ..) {
     console.log(data[i]...)
 }
它在案例2中起作用,因为您删除了console log语句,因此它等于

for ( ..) {
 console.log(..);
}
console.log(data[i]...)
 for ( ..) {
     console.log(data[i]...)
 }
如果要在for循环中同时使用这两条语句,请使用
{}

for ( ..) {
         console.log(..);
         console.log(data[i]...)
     }

不仅要有多条语句,即使是一条语句,也要尝试始终使用{}以避免类似的混淆。

与您使用的json无关。完全关于for循环,不使用花括号

您缺少循环的
{}
。如果没有{},则只有第一条语句属于
for
循环

所以在您的案例1中,您的代码等于

for ( ..) {
 console.log(..);
}
console.log(data[i]...)
 for ( ..) {
     console.log(data[i]...)
 }
它在案例2中起作用,因为您删除了console log语句,因此它等于

for ( ..) {
 console.log(..);
}
console.log(data[i]...)
 for ( ..) {
     console.log(data[i]...)
 }
如果要在for循环中同时使用这两条语句,请使用
{}

for ( ..) {
         console.log(..);
         console.log(data[i]...)
     }

不仅要有多个语句,即使是一个语句,也要尝试始终使用{}以避免类似的混淆。

我看不到任何代码。。。只是漂亮的图片:p[几天过去了,我不会意识到这一点。谢谢!我看不到任何代码…只是漂亮的图片:p[几天过去了,你不会意识到这一点。谢谢!请不要在图片中发布代码。你最好将它们进一步粘贴到这里。我用一些代码更新了问题,我给了它更具描述性的标题。请不要在图片中发布代码。你最好将它们进一步粘贴到这里。我用一些代码更新了问题,我给了它更具描述性的标题我对这个问题很感兴趣。