0

可能重复:
在 JavaScript 回调函数中设置局部变量

我很难调试我的脚本,因为我不知道我的变量中发生了什么。

我尝试做'console.log'来跟踪发生了什么,但令人惊讶的是,我不知道为什么会发生这种情况..

这是这种情况:

我有这段 javascript 代码:

tmplReplaceContent : function(json, tmpl, target){ 
    var template = tmpl;
    var regex = new RegExp("some regex");
    ...
    if (!regex.test(tmpl)) {
        $.get(msi.vars.api_url + tmpl + '.tmpl', function(tmplOut){
            console.log("regex check passed!");
            template = tmplOut;
            console.log(template);
        });
    } else {
      console.log("failed regex check");
    }

    console.log(template);
...

首先console.log(template)产生我想要的结果

但第二个又回到了原来的值:

例如

tmpl = somevar; // that returns true on if statement
template = tmpl;

console.log(template) // 1st. will return value of somevar

您认为补救措施是什么,为什么我的代码会失败?

4

0 回答 0