一段代码,找不到错误原因,求帮忙
											 程序代码:
程序代码:
var timeCirculate;
var strCirculateMSG = "";
var blnCirculate = false;
function Fun(array,fun1,fun2){
    var i=0,len = array.length; //这里要注意在执行过程中数组最好是不变的
    
    var arr;// 用于判断是否中断递归操作
    timeCirculate = setTimeout(function(){
        arr = fun1( array[i] , i++ ); //循环体要做的操作
        blnCirculate = arr[0];
        strCirculateMSG = arr[1];
        //alert(blnCirculate);
        //alert(strCirculateMSG);
        // 正常 循环体内
        if(blnCirculate){
            if( i < len ){
                
                timeCirculate = setTimeout(arguments.callee(array,fun1,fun2),0);
            }else{
                
                fun2(); //循环结束之后要做的操作
            }
        
        // 异常,退出循环
        }else{
            fun2(); //循环结束之后要做的操作
        }
    },0);
}
function a(value,i){
    if(value == 3){
        return [false,"错啦"];
    }
    return [true,""];
}
function b(){
    
    clearTimeout(timeCirculate); // 清除 setTimeout
}
var arr=new Array(1,2,3);
Fun(arr,a,b);
alert(blnCirculate);
alert(strCirculateMSG);
如果在 Fun方法内 alert 2个变量,就能得到需要的数据,可如果在 Fun外却总是初始定义的值,为什么 Fun 方法内无法修改 外部定义的 blnCirculate strCirculateMSG 2个 变量的值哪?要如何修改



 
											





 
	    

 
	


