日期:2014-05-16  浏览次数:20359 次

函数调用顺序问题!很奇怪
<script   language= "javascript ">
var   isCancel   =   false;
function   a(){
        c();
  //alert();
        if(isCancel   ==   true){
                //test   1
                alert( "1 ");
        }  
}
function   b(){
        //call   c
        c();
}
function   c(){
        isCancel   =   true;
}
</script>
如上面的代码,是写在JSP文件中的,可是不能走到   test   1   中来.
可如果把isCancel   =   true;放到函数b中就是可以的.
还有如果在函数a中的if(isCancel   ==   true)前面加上个alert()也是可以的
不明白这和Javascript语言的函数执行顺序有关吗?


------解决方案--------------------
function a(){
c();
if(isCancel){
alert( "1 ");
}
}

------解决方案--------------------
<script language= "javascript ">
var isCancel = false;
function a(){
c();
if(isCancel == true){
alert( "1 ");
}
}
function b(){
c();
}
function c(){
isCancel = true;
}
</script>
<script> a() </script>

这样调用的时候是可以通过的