review javascript 11:javascript Array

(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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,410评论 0 3
  • 梦 陨落了 一地的碎片 星 稀疏了 风 轻轻的浮起 拉下帷幕的夜 月 与你共眠
    一亩花塘阅读 1,001评论 0 1
  • 骂支付宝的我后悔了,因为发现自己思考角度的狭隘,发现自己喜欢下简单的结论。 今天突然想到,我以前对支付宝的白领日记...
    妖六八阅读 3,101评论 0 0
  • 不知道你有没有带过孩子,如果有的话,你就知道什么是孩子,我们应该怎么做?如果没有,以后有孩子了一定要有颗耐心,因为...
    南林瑶阅读 3,593评论 0 2
  • wkwebview的使用后加载h5页面后不能正常点击里面的链接然而UIwebView是可以的这是个问题因为WKWe...
    幸福晓杰2016阅读 5,283评论 0 2