function getComPage(classid,id,pagenum){
 var url = '/e/ajax/index.php?';
 var params ='action=getComPage' +  '&classid=' + classid + '&id=' + id + '&pagenum=' + pagenum;
 url+=params;
 var functionName=function (){     
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
  if(xmlHttp.responseText!=0){
    $(".comnav1").html(xmlHttp.responseText);
getComList($("#Comment_classid").val(),$("#Comment_id").val(),pagenum);/////////请问这个pagenum为什么说为定义
  }
  else {
$(".comnav1").html("");  
  }
}
else if(xmlHttp.readyState!=4)
    {
      loadING("#commentinfo");
    }
}
 };
 makeRequest(url, functionName, "GET", '');
}请问这个pagenum为什么说为定义,刚学JS,对变量作用域不太了解,难道是函数中的变量不能作用到子函数的变量,请问应该怎么样做,才能统一谢谢

解决方案 »

  1.   

    如果你要作用到子函数,那你必须把父函数的这个pagenum,传入到子函数中去,不然,子函数是不知道这个pagenum是什么东西的!
      

  2.   

    function getComPage(classid,id,pagenum){
     var url = '/e/ajax/index.php?';
     var params ='action=getComPage' +  '&classid=' + classid + '&id=' + id + '&pagenum=' + pagenum;
     url+=params;
     var functionName=function (classid,id,pagenum){     
    if(xmlHttp.readyState==4){
    if(xmlHttp.status==200){
      if(xmlHttp.responseText!=0){
        $(".comnav1").html(xmlHttp.responseText);
    getComList(classid,id,pagenum);
      }
      else {
    $(".comnav1").html("");  
      }
    }
    else if(xmlHttp.readyState!=4)
        {
          loadING("#commentinfo");
        }
    }
     };
     makeRequest(url, functionName, "GET", '');
    }我改成这样,还是不行,三个参数都是为定义顺便问一下,是执行2个AJAX快,还是执行一个AJAX 然后在服务器段综合处理返回整体信息快
      

  3.   

    建议你还是使用成熟的AJAX框架帮助你的工作吧(jquery,mootools....),或者深入学习下js