好的,这是我的代码。
.ajax({
type:"POST",
url: "data.php",
data:{
number:number, sprint_count:sprint_count
},
dataType: 'json',
success: function(data){
var count = data.length;
var PlannedSprint = 0;
for(var i = 0; i<count; i++){
var Column = data[i].Column;
if(PlannedSprint !== data[i].PlannedSprint){
$("#div"+Column+"_"+Team).append(data[i].PlannedSprint);
}
var PlannedSprint = data[i].PlannedSprint;
var Team = data[i].Team;
var Element = data[i].Element;
$("#div"+Column+"_"+Team).append(Element);
}
}
});
只要data[i].PlannedSprint
与PlannedSprint
不同,我希望IF语句有效。但出于某种原因,IF声明无效。为什么会这样,if语句有什么问题?
在我看来,我觉得它应该是这样的:
var PlannedSprint = 0; // Set it to 0
if(PlannedSprint !== data[i].PlannedSprint){ // cause of PlannedSprint being set to 0 before this I believe it should work cause the data[i].PlannedSprint wont be 0.
var PlannedSprint = data[i].PlannedSprint; // And then this will give PlannedSprint a new value for the next loop instead of 0.
但这不起作用,有人可以解释一下!
答案 0 :(得分:2)
您正在重新定义var
语句中的变量。只需删除里面的var PlannedSprint = 0;
if(PlannedSprint !== data[i].PlannedSprint){
PlannedSpint = data[i].PlannedSprint; // no "var"
。
{{1}}
我不会详细描述为什么会发生这种情况,你应该阅读javascript&#34; Hoisting&#34;进一步了解这种行为。
答案 1 :(得分:0)
你可能错过if语句结束标记(}) 和var PlannedSprint声明了2次
答案 2 :(得分:0)
你的if语句永远不会成立,因为你总是将前一个与下一个元素进行比较。