javascript数组的下标只能是数字.

解决方案 »

  1.   

    var Atext = {}  //JS定义一个结构, 就可以赋这种字符下标
    Atext["a"]="a";
    Atext["b"]="b";
    var i=0;
    for(var k in Atext) i++
    alert(i);
      

  2.   

    javascript数组的下标只能是数字.meizz(梅花雨)对的
      

  3.   

    Array 的下标完全可以是字符,我都用过n多次了,不信你试试。var a = new Array();
    a["a"] = "A";
    a["b"] = "B";
    alert(a["a"] + a["b"]);不知道你们这么多星是怎么得来的。
      

  4.   

    To: Apollo47(阿波罗) 
        关于数组的字符下标问题, 数组是不允许字符下标的, 至于用 var a = new Array() 而可以定义字符下标不出错那是因为JS解析器对于你定义的 a 默认都是先认为它是一个对象, 一个结构体, 然后再根据详细定义划分成array bool date等类型, 而你给它赋字符型下标那你只是当它成一个object来用, 通过字符型下标扩展对象的属性而已, 所以你这种定义后取 a.length 已经取不到长度了, 同理可得, 任何用 new 新建的对象你都可以通过字符下标的形式扩展其属性:
    function meizz(){}
    //var a = new Array();
    //var a = new Boolean();
    //var a = new Date();
    //var a = new Enumerator();
    //var a = new Error();
    //var a = new Function();
    //var a = new Number();
    //var a = new Object();
    //var a = new RegExp();
    //var a = new String();
    var a = new meizz();
    a["a"] = "A";
    a["b"] = "B";
    alert(a["a"] + a.b);是你自己不知其所以然罢了!!