alert(prvarr[j].id==3)
alert(prvarr[j].id)
就知道了這是基本的調適程序的方法

解决方案 »

  1.   

    KAO
    你骗得我好辛苦我以为是数组的问题呢
    原来是你的程序的问题
    你根本就没有定义下标为0的值,你在FOR里面怎么能访问呀<Script language='javascript'>
    //--------注释一
    var j;
    for (j=0;j<10;j++){
    if (prvarr[j+1].id==3){  //这样还差不多
    document.write (prvarr[j+1].name);
    }
    }
    </script>
      

  2.   


    <Script language='javascript'>
    //--------注释一
    var j;
    for (j=1;j<=10;j++){  //你的程序应该是改为从1开始的,
    if (prvarr[j].id==3){
    document.write (prvarr[j].name);
    }
    }
    </script>
    <br><Script language='javascript'>
    //--------注释二
    var j;
    for (j=1;j<=10;j++){//你的程序应该是改为从1开始的,
    if (j==3){
    document.write (prvarr[j].name);
    }
    }
    </script>
      

  3.   

    数组下标出错
    <SCRIPT LANGUAGE=javascript>
    <!--
     prvarr= new Array(31);
    prvcnt=31;prvarr[0]=new prv(1,'辽宁');prvarr[1]=new prv(2,'黑龙江');prvarr[2]=new prv(3,'吉林');prvarr[3]=new prv(4,'河北');prvarr[4]=new prv(5,'北京');prvarr[5]=new prv(6,'上海');prvarr[6]=new prv(7,'天津');prvarr[7]=new prv(8,'山西');prvarr[8]=new prv(9,'内蒙古');prvarr[9]=new prv(10,'江苏');prvarr[10]=new prv(11,'浙江');prvarr[11]=new prv(12,'安徽');prvarr[12]=new prv(13,'福建');prvarr[13]=new prv(14,'江西');prvarr[14]=new prv(15,'山东');prvarr[15]=new prv(16,'河南');prvarr[16]=new prv(17,'湖北');prvarr[17]=new prv(18,'湖南');
    function prv(id,name) {this.id=id;this.name=name;} -->
    </SCRIPT> <Script language='javascript'>
    //--------注释一
    var j;
    for (j=0;j<=10;j++){
    if (prvarr[j].id==3){
    document.write (prvarr[j].name);
    }
    }
    </script>
    <br><Script language='javascript'>
    //--------注释二
    var j;
    for (j=0;j<=10;j++){
    if (j==3){
    document.write (prvarr[j].name);
    }
    }
    </script>
      

  4.   

    我一看开头初始化那么多行就难受!计算机最适宜干的就是重复工作,初始化部分为什么要用手工去改数组的下标等内容,麻烦且容易错!要是调整顺序呢?好在中国只有31个省,如果象美国50个州,难道你也这么干?用下面的7行代码代替那些重复行吧:var aTemp = [ '辽宁','黑龙江','吉林','河北','北京','上海','天津','山西','内蒙古','江苏','浙江','安徽','福建','江西','山东','河南','湖北','湖南' ];var prvarr = new Array ( aTemp.Length );initPrvarr ( aTemp, prvarr );
    delete aTemp;   //释放aTemp占用的资源function initPrvarr ( aName, aTarget ) {
       for ( var i = 0; i < aName.length; aTarget[i]=new prv(i+1,aName[i]), i ++ );
    }function prv(id,name) {this.id=id;this.name=name;}