js中局部变量赋值出现错误(要输出之后在引用才会正确)
function judge(){
       var t3=0;
	var url="/zz.app.engineering/app_engineering/projectOpportunity/judge/"+id+"";
	$.getJSON(url,function(result){
		t3=result;	
	});	
	alert(t3);
	if(t3==1){
		alert(t3);
		 $.alert("此项目机会已经存在!");
		 return false;
	   }
}
当项目存在,result=1时去掉红色的alert(t3)不出现预期的结果,不去掉会得出结果,但是弹出的t3的值顺序是0   1
求解答呀,谢谢
------解决方案--------------------
因为那是异步执行的 去掉红色的提示之后 就会出现在判断t3==1的时候t3=result;还没执行,不去掉的话由alert所带来的时间足够让回调函数执行了t3=result;,所以才会出现那样的情况。所以解决方法就是在进行t3==1的判断时先判断回调函数是否已经执行
------解决方案--------------------function judge(){
var boole=false;
  var t3=0;
  var url="/zz.app.engineering/app_engineering/projectOpportunity/judge/"+id+"";
  $.getJSON(url,function(result){
  t3=result;  
  alert(t3);
  if(t3==1){
  alert(t3);
  $.alert("此项目机会已经存在!");
  boole=false;
  }else{
 boole=true; 
  }    
});  
return boole;
}
给你改进了一下,因和服务端交互时不可能马上返回值,你要写到$.getJSON的fn中通信成功反回值后你才可以判断,多看看ajax