簡體   English   中英

如果語句不起作用的Javascript

[英]If-statement not working Javascript

好的,這是我的代碼。

.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);
            }
        }
    });

我希望IF語句能在data[i].PlannedSprintPlannedSprint 但是由於某種原因,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.

但這是行不通的,有人可以解釋!

您正在if語句中重新定義變量。 只需刪除其中的var

var PlannedSprint = 0;
if(PlannedSprint !== data[i].PlannedSprint){
    PlannedSpint = data[i].PlannedSprint; // no "var"

我不會詳細說明為什么會發生這種情況,您應該閱讀javascript“提升”以進一步了解這種行為。

如果語句關閉標記(})和var PlannedSprint聲明了2次,可能會丟失

您的if語句永遠不會為真,因為您總是將前一個元素與下一個元素進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM