本帖最后由 cutemurphy 于 2011-07-22 18:57:34 编辑

解决方案 »

  1.   

    (3)
    js中 组的长度是以数字类型的key的最大值为基准
    比如你改成 a['100']='Hello World';(或者 a[100]='Hello World';)
    那它的长度就是101 中间空缺的都是undefined'foo'不是数字类型不做统计
      

  2.   

    (2)var a="("+123+")"  这里面的括号是字符串  把后面的123同化了
    var a=(123);  这个括号是运算符 优先运算括号里的...
      

  3.   

    回二楼。不统计不要紧
    关键是将a数组用document.write输出 也没看见“hello world”
      

  4.   

    至于(1) 可以试一下
    url = url.replace(/\=/g,":");
    var ary = url.split("&");...josn里面这样写
    for(var i = 0 ;i<ary.length;i++){
        eval(ary[0]);
    }
      

  5.   

    (3)因为 var a=[1,2,3,4];a的定义在先 
    a['foo']='Hello World'; 这需要key才能取到值 并不能直接输出
      

  6.   

    当然看不见的,javascript没有说可以用访问对象的方式访问数组,数组虽然是对象,但是你这么做相当于把这个值设为这个数组的属性,就好比跟length一个级别的
      

  7.   

    var a=[1,2,3,4];  a['foo']='Hello World';
    alert(a.foo)
      

  8.   

    var regex =/[^&=]+=[^&=]*/g
    var str ="name=csdn&age=10";
    var json = new Object()
    var mc 
    while(mc=regex.exec(str))
    {
        var v = mc[0];
        json[v.split("=")[0]]=v.split("=")[1];
    }
    alert(json.name)
    alert(json.age)
    第一个,这样就可以了
      

  9.   

    对 alert(a["length"]);同样可以
      

  10.   

    a是一个数组的同时,也是一个object,
    a['foo']='Hello World';这时候a只是当作object在使用,增加了一个属性,所以不是5.