代码如下:var zzslArr = zzflArr = {};
zzslArr[1] = {"baidu":9610000,"baidu_date":"2011-6-1","google":193000000,"yahoo":"0","soso":"87,000,000"};
zzflArr[1] = {"baidu_r":"45,600,000","google_r":"170","yahoo_r":"463,332","soso_r":"87,000,000"};vardump(zzslArr,'zzslArr');
//alert(zzslArr['1']['baidu']);
//alert(zzslArr.s1.baidu);
alert(zzslArr[1][baidu]);
我要获取的是第一个的baidu的值,但是就是获取不到啊,得到都是undefined……
这个是怎么回事……折磨了很久……

解决方案 »

  1.   


    var zzslArr = zzflArr = {};
    zzslArr[0] = {"baidu":9610000,"baidu_date":"2011-6-1","google":193000000,"yahoo":"0","soso":"87,000,000"};
    zzflArr[1] = {"baidu_r":"45,600,000","google_r":"170","yahoo_r":"463,332","soso_r":"87,000,000"};//vardump(zzslArr,'zzslArr');
    //alert(zzslArr['1']['baidu']);
    //alert(zzslArr.s1.baidu);
    alert(zzslArr[0]["baidu"]);
      

  2.   

    第一不要用 ==给两个变量赋值. 你这俩变量名字太像了,我以为是一个呢...
    var zzslArr =  {};
    var zzflArr = {};
    第二[]内要加引号.
    var zzslArr =  {};
    var zzflArr = {};
    zzslArr[0] = {"baidu":9610000,"baidu_date":"2011-6-1","google":193000000,"yahoo":"0","soso":"87,000,000"};
    zzflArr[0] = {"baidu_r":"45,600,000","google_r":"170","yahoo_r":"463,332","soso_r":"87,000,000"};//vardump(zzslArr,'zzslArr');
    //alert(zzslArr['1']['baidu']);
    //alert(zzslArr.s1.baidu);
    alert(zzslArr[0]["baidu"]);
    alert(zzflArr[0]["baidu_r"]);
      

  3.   

    js不是php没有var_dump函数,
    只有typeof
      

  4.   

    额。。
    那个是我自定义的一个函数,js的(是没有问题的):function vardump(obj,objname,deep){
      deep = deep||1;
      if(deep > 5) return "";
      deep++;
      /* 不是对象也不是数组 */
      if(typeof(obj) != 'object' && typeof(obj) != 'array'){
        document.writeln("<div>"+objname+"不是对象或者数组["+typeof(obj)+"]</div>");
        return '';
        }
      /* 开始打印 */
      document.writeln("<ul>");
      for(var i in obj){
        document.write("<li>");
        document.write(objname+'['+i+'] = '+obj[i]);
        if(typeof(obj[i]) == 'object' || typeof(obj[i]) == 'array'){
          document.write('<b style="font-size:13px;cursor:pointer;" mce_style="font-size:13px;cursor:pointer;" onclick="if(this.textContent==\'[展开]\'){this.textContent=\'[折叠]\';this.nextSibling.style.display=\'block\';}else{this.textContent=\'[展开]\';this.nextSibling.style.display=\'none\';}">[折叠]</b>');
          vardump(obj[i],objname+"["+i+"]",deep);
          }
        document.write("</li>");
        }
        document.writeln('</ul>');
      }
      

  5.   

    var zzslArr = zzflArr = {};  //zzslArr、zzflArr实际上引用了同一个变量
    zzslArr[1] = {"baidu":9610000,"baidu_date":"2011-6-1","google":193000000,"yahoo":"0","soso":"87,000,000"};
    zzflArr[1] = {"baidu_r":"45,600,000","google_r":"170","yahoo_r":"463,332","soso_r":"87,000,000"};  //这样就覆盖了上一行中定义的属性、值alert(zzslArr[1].baidu_r);
      

  6.   

    var zzslArr = zzflArr = {};
    alert(zzslArr === zzflArr);
    zzslArr = {};
    zzflArr = {};
    alert(zzslArr === zzflArr);
      

  7.   

    var zzslArr = zzflArr = {};
    从你的代码看你肯定不会希望 zzslArr , zzflArr 是同一个对象
      

  8.   


    var zzslArr = zzflArr=  {};
    zzslArr[1] = {"baidu":9610000,"baidu_date":"2011-6-1","google":193000000,"yahoo":"0","soso":"87,000,000"};
    zzflArr[1] = {"baidu_r":"45,600,000","google_r":"170","yahoo_r":"463,332","soso_r":"87,000,000"};
    zzslArr 被zzslArr覆盖了,所以找不到baidu这个key
    你试下alert(zzslArr[1].baidu_r);这样就知道了。不要这么赋值var zzslArr = zzflArr=  {};
      

  9.   

    我怎么知道JS里面是这样的啊,因为在PHP里面如果连续等号只是值相同而已的。