js在调试模式下是正确的,然而在运行模式下是错误的,是什么原因~

求各位大神,为什么在调试加个断点时,运行的结果是正确的,然而在断点去掉时,运行的结果就是错误的。当加入断点时,会进入if{}模块,不加断点时,就不进入if{}模块,这是什么原因呢?

var currentStepId = "";
    //ajax获取当前案件处理步骤详情
    $.ajax({
        type:"GET",
        url:ctx + "ajaxcase.do?method=getCaseInfo",
        data:{
            "caseNum":$("#caseNum").val()
        },
        success:function(returnedData){
            if(returnedData != ""){
                currentStepId = returnedData.currentStepId;
            }
        }
    });
    //获取当前的流程步骤
    var stepId = $("#stepId").val();
    var greenSrc = $("#all_step div:first").find("img").attr("src");
    var tt = currentStepId;
    
    if(currentStepId != ""){
         //将当前的步骤div内的箭头图片改为灰色
        $("#step_"+currentStepId).find("img").attr("src",greenSrc.replace("green", "grey"));
        //将当前步骤div后续的步骤div的背景全部改为灰色并把箭头图片也改为灰色
        $("#step_"+currentStepId).nextAll("div").css("background-color", "#CDCECB");
        $("#step_"+currentStepId).nextAll("div").find("img").attr("src",greenSrc.replace("green", "grey"));
        $("#step_"+currentStepId).nextAll("div").find("a").attr("href", "#");
    }

ajax方法设置成同步的

没看代码,但是可以确定的是这是个同步的问题。

为什么不把下面的代码放到 success里处理呢?

[code="js"]
//获取当前的流程步骤

var stepId = $("#stepId").val();

var greenSrc = $("#all_step div:first").find("img").attr("src");

var tt = currentStepId;

if(currentStepId != ""){  
     //将当前的步骤div内的箭头图片改为灰色  
    $("#step_"+currentStepId).find("img").attr("src",greenSrc.replace("green", "grey"));  
    //将当前步骤div后续的步骤div的背景全部改为灰色并把箭头图片也改为灰色  
    $("#step_"+currentStepId).nextAll("div").css("background-color", "#CDCECB");  
    $("#step_"+currentStepId).nextAll("div").find("img").attr("src",greenSrc.replace("green", "grey"));  
    $("#step_"+currentStepId).nextAll("div").find("a").attr("href", "#");  
}  

[/code]