我将展示我的代码和一些图像来演示问题。
像变量声明或使用日志函数这样的简单语句会导致json结果未定义。当我输入文本输入时,执行ajax调用并返回数据。
更新这是我的代码包含在文本中。复制并粘贴代码时,缺少花括号的问题非常明显。正如你在图片中看到的那样VS 2017无法帮助你轻松地注意到缺少牙箍,它们可以改善它。
for (var i = 0; i < data.length; i++)
console.log("some message");
console.log(data[i].titulo);
删除声明:
现在检查一下,当for循环中有一个语句时,它似乎只被评估一次。
当我接受语句时,'i is x'被执行了更多次。
与您使用的json无关。纯粹关于for循环而不使用花括号。
你错过了你的循环{}
。没有{}只有第一个语句属于for
循环
所以在你的情况1中,你的代码等于
for ( ..) {
console.log(..);
}
console.log(data[i]...)
它在案例2中工作,因为您删除了控制台日志语句,因此它等于
for ( ..) {
console.log(data[i]...)
}
如果你想在循环中使用两个语句,请使用{}
for ( ..) {
console.log(..);
console.log(data[i]...)
}
不仅要有多个语句,即使是单个语句,也要尽量使用{}来避免这样的混淆。