javascript - for 循环中的奇怪行为,语句不执行

标签 javascript jquery

我将展示我的代码和一些图像来演示该问题。

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

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

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

                   console.log("some message");
               console.log(data[i].titulo);

enter image description here

删除语句:

enter image description here

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

enter image description here

当我执行该语句时,“i is x”被执行了更多次。

enter image description here

最佳答案

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

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

所以在你的情况1中,你的代码等于

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

它在情况 2 中有效,因为您删除了控制台日志语句,因此它等于

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

如果您想在 for 循环中使用这两个语句,请使用 {}

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

不仅要拥有多个语句,即使对于单个语句,也请尝试始终使用 {} 以避免这样的混淆。

关于javascript - for 循环中的奇怪行为,语句不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49030174/

相关文章:

javascript - 如何减少json数据

javascript - HTML 底部的空白

javascript - 检查控制台是否存在

javascript - 在 React 中创建了多过滤按钮,但每次单击其他过滤按钮时列表不会显示

javascript - jQuery AJAX 多个函数获取结果?

JQuery datepicker - 选择该月的最后一天

javascript - 预加载 cdn 缓存文件

javascript - 在 2 个元素之间绘制线条 onclick

javascript - 部分外部 Javascript 未执行

javascript - JQuery 函数返回错误数量的像素