(1)知识点
- (1.1)创建
- (1.2)赋值
- (1.3)取值
(2)细化
(2.1)创建
1.创建空的数组,两种方式
var 数组名 = []; -->js中见到[],就是数组
var 数组名 = new Array();
2.创建数组的同时,初始化数组中的每个元素
var 数组名 = [值1,值2,值3......]
var 数组名=new Array(值1,值2,...);
** new Array的歧义: new Array(7) **
(2.2)赋值
数组名 = 值;
数组的特殊性在于:
(1)不限制元素的个数,没有数组越界的错误,length自动增加为最大下标+1;
(2)不限制元素的类型;
(2.3)取值
任何位置使用数组名[i],等效于直接使用数组名[i]中的值
(2.4)数组是引用类型对象:按值传递
原始类型的值,赋值后,相互不影响;
引用类型的对象,赋值后,依然引用同一个对象,任何修改,都会影响对方。
(2.5)主动释放一个对象:null
垃圾回收器: 专门释放内存中不再被引用的对象的小程序,伴随主程序执行;每个对象都有一个引用计数器,增加引用+1,减少引用-1,一个对象,引用计数器为0,不再被任何变量引用,被回收。
建议:使用完较大的对象后,都要主动释放
(2.6)数组的length
(1)获得最后一个元素值: arr[arr.length-1]
(2)向数组末尾追加一个新元素:arr[arr.length]=新值;
(2.7)遍历数组: 依次对数组中每个元素执行相同操作
(1)条件: 下标i<数组长度
(2)变量: 下标i 从0开始,每次++
for(var i=0;i<arr.length;i++){
当前元素:arr[i]
}
(3)实践
<script type="text/javascript">
//四种方式定义数组
var arr1 = []; //创建了一个空的数组
var arr2 = new Array(); //创建了一个空的数组
var arr3 = [1,2,3,4];
var arr4 = new Array(1,2,3,4); //创建数组的同时,初始化数组中的每个元素
console.log(arr1.length); //0
console.log(arr3.length); //4
//new Array(5) 存在的歧义
var arr5 = new Array(5);
console.log(arr5.length); //5
console.log(arr5[2]); //undefined
//赋值
var arr6 = [1,'字符',true,undefined,null];
//遍历数组
for(i=0;i<arr6.length;i++){
console.log(typeof(arr6[i]));
}
//引用类型的对象,赋值后,依然引用同一个对象,任何修改,都会影响对方。
var a = [1,2];//数组
var b = {'aa':'cc'};//json对象
var c = [{'name':'phf'},{'name':'zyb'}];
var copyA = a;
a[2] = 99;
console.log(a); // 1,2,99
console.log(copyA); // 1,2,99
//数组的length
var arr7 = ['a','b','c','d','e'];
arr7[arr7.length] = 'f';
console.log(arr7); //['a','b','c','d','e','f']
</script>
网友评论