可能重复:
在 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
您认为补救措施是什么,为什么我的代码会失败?