从前面知道,对象分内建对象、宿主对象、自定义对象。前面学了很多自定义对象,接下来学习另外两个。
数组
数组与普通的对象不同之处在于,普通对象用字符串做属性名,而数组用数字作索引操作。
创造数组对象
<script>
var arr = new Array();
console.log(typeof arr);
</script>
添加元素
<script>
var arr = new Array();
arr[0]=10;
arr[1]=10;
arr[2]=10;
console.log(arr);
</script>
读取元素
<script>
var arr = new Array();
arr[0]=10;
arr[1]=10;
arr[2]=10;
console.log(arr[2]);
</script>
<script>
var arr = new Array();
arr[0]=10;
arr[1]=10;
arr[2]=10;
console.log(arr[5]);
</script>
读取不存在的索引则为undefined
获取数组长度
w3c查文档看看Array。
<script>
var arr = new Array();
arr[0]=10;
arr[1]=10;
arr[2]=10;
console.log(arr.length);
</script>
这里的数组是连续的,如果不是连续的呢?
<script>
var arr = new Array();
arr[0]=10;
arr[1]=10;
arr[10]=10;
console.log(arr.length);
</script>
所以,对于非连续的数组,是最大所以值加1。
这就说明,即使中间有8个没有赋值,但位置还是占着。
length是可以修改里的。
<script>
var arr = new Array();
arr[0]=10;
arr[1]=10;
arr[2]=10;
arr[3]=10;
arr.length=10;
console.log(arr);
arr.length=2;
console.log(arr);
</script>
如果改大length,则对应位置为空,如果改小length,则删除多的元素。
向数组最后一位添加元素
<script>
var arr = new Array();
arr[0]=10;
arr[1]=10;
arr[2]=33;
arr[3]=110;
arr[arr.length]=100;
console.log(arr);
</script>