数字和非数字索引
JavaScript 数组仅支持数字索引,非数字索引引用对象的属性。
JavaScript链表可以看成是一种特殊的对象(object),对象的属性有两种表达方式。
var a=Object(); a.myattr="runoob"; a["myattr"]="runoob";
查看下面的示例:
var a=new Array(); a['a1']=1; a['a2']=2; a.length // 输出0
例子中,因为你没有给出字段的element参数,所以没有创建a数组的宽度javascript 数组定义,此时a.length的输出结果为0。
var a=new Array(); a['a1']=1; a['a2']=2; a[2]=3; a.length // 输出3
最后一行代码为链表元素a[2]赋值。 此时,JavaScript 会为字段 a 创建一个宽度为 3 的空间,并将 3 赋值给第三个元素javascript 数组定义,但元素 1 和元素 2 都没有形参。 ,所以此时a[0]和a[1]没有值。
如果要使用完全由“字符串下标”组成的字段,最好将其声明为 Object 类型的对象。
var a=new Array(); a['a1']=1; a["100"]=3; a.length // 输出 101
Javascript数组下标值的范围是0~232。 对于任何给定的数字下标值,如果不在这个范围内,Javascript会将其转换为字符串,并使用该下标对应的值作为字段对象的属性值,而不是数组元素,如 array[ -1 ] = "yes" 其实相当于给数组对象添加了一个名为-1的属性,属性值为yes。 如果下标值在合法范围内,无论下标值是数字还是数字字符串,都会转为数字使用,即array[“100”] = 0和array[100] = 0 执行的是相同的操作。
田七鑫
429***967@qq.com