可能重复:
Setting local variable in a JavaScript callback function
我很难调试我的脚本,因为我不知道我的变量发生了什么。
我尝试使用'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)
产生我想要的结果
但第二个回到原来的值:
e.g。
tmpl = somevar; // that returns true on if statement
template = tmpl;
console.log(template) // 1st. will return value of somevar
您认为什么是补救措施,为什么我的代码会失败?