黑马程序员技术交流社区

标题: [石家庄校区]Javascript数组数值索引和字符串索引 [打印本页]

作者: longxf_sjz    时间: 2019-7-14 13:02
标题: [石家庄校区]Javascript数组数值索引和字符串索引
一 结论
       Javascript数组索引值的范围为0到2的32次方。
  对于任意给定的数字下标值,如果不在此范围内,js会将它转换为一个字符串,并将该下标对应的值作为该数组对象的一个属性值而不是数组元素,
       例如array[-1] = "yes" 其实就相当于给array对象添加了一个名为-1的属性,属性值为yes。
  如果该下标值在合法范围内,则无论该下标值是数字还是数字字符串,都一律会被转化为数字使用,即 array["100"] = 0 和 array[100] = 0 执行的是相同的操作。


二 字符串索引
        当我们试图为一个js数组添加字符串下标的时候,其实就相当于为该数组对象添加了一个属性,属性名称就是我们所谓的“字符串下标”。
        由于为数组对象添加属性不会影响到同为该对象属性的length的值,因此该数组的length一直等于零。
[JavaScript] 纯文本查看 复制代码
var array = [];
        array["a"] = "hello";
        array["b"] = "world";
        array["c"] = "yes";
        console.log(array);
        console.log("length: " + array.length);//0



三 数值索引
        当我们试图为一个js数组添加数值下标或者数字字符串下标的时候,效果一样都会影响数组的length。
[JavaScript] 纯文本查看 复制代码
//添加数值下标
        var array = [];
        array["a"] = "hello";
        array["b"] = "world";
        array["c"] = "yes";
        array[100] = 100;
        console.log(array);
        console.log("length: " + array.length);//101
        //添加字符串数字下标
        var array = [];
        array["a"] = "hello";
        array["b"] = "world";
        array["c"] = "yes";
        array['100'] = 100;
        console.log(array);
        console.log("length: " + array.length);//101







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2