数组是一个可以存储一组或是一系列相关数据的容器。

一、为什么要使用数组。

a.为了解决大量相关数据的存储和使用的问题。

b.模拟真是的世界。

二、如何创建数组

A.通过对象的方式来创建——var a=new Array();

赋值方式:

1.直接赋值——var a=new Array(元素1,元素2,元素3,元素4,........)

var a=new Array(数值)
如果只有一个元素,并且这个元素是数值类型的,那么他就是指定数组的长度并且他的值都是undefined

var a=new Array(3);
alert(a.length); 结果:3 var a=new Array(3,2);
alert(a.length); 结果:2

2.声明以后再赋值

var a=new Array();
a[0]=1;
a[2]=2;
a[0]=3;

 B.隐形声明的方式——var a=[];

赋值方式:

1.直接赋值:

var a=[1,2,3,4];  

2.声明以后再赋值

var a=[];
a[0]=1;
a[1]=2;
a[2]=3;

javascript数组可以存储任何类型的值
var a=new Array(3,true,'abc'); 

三、访问数组的元素(通过数组的(中括号)下标访问)

数组下标从0开始,他的最大值,是length属性-1

四、遍历数组的元素

//for循环 效率最优
var a=[1,2,3];
for(var i=0,max=a.length;i<max;i++){
alert(a[i]);
} //while();
var i=0;
while(i<a.length){
alert(a[i]);
i++;
} //for in(只能从第一个开始有几个数组执行几次) 效率慢
for(var i in a){
alert(a[i]);
}

五、数组的分类

A.下标的类型

1.下标是数字类型的(索引数组)

var a=[];
a[0]=1;
a[1]=2;
a[2]=3;

2.下标是字符串类型的(关联数组)

var a=[];
a['name']=2;
alert(a.name); 弹出:2
alert(a[''name']); 弹出:2
alert(a); 弹出:空

B.维度来分类

A.一维数组

var a=[1,2,3];

B.二维数组

var arr=[[1,2,3],[4,5,6]];
alert(arr[1][1])

注意:

//可以存储任何类型的数据
var a=[1,'name',true,'abc']; //只支持一维数组。
var a=[];
a[0][0]=2
alert(a[0][0]); 报错 var a=[[]];
a[0][0]=2
alert(a[0][0]); 弹出:2 //长度可变。
var a=[1,2];
alert(a.length); 结果:2
a[4]=2;
alert(a.length); 结果:5 //如果是索引数组,下标始终从0开始,如果指定了长度,但是没有赋值,他的值就会自动赋值为undefined
var a=[];
a[3]=2;
alert(a[2]); 结果:undefined
alert(a.length); 结果:4

javascript笔记整理(数组)的更多相关文章

  1. javascript笔记整理(数组对象)

    1.属性 a.length--设置或返回数组元素的数目 var a=[1,2,3,45,5]; alert(a.length=6) 结果:6 alert(a[5]) 结果:undefined b.co ...

  2. JavaScript笔记整理

    整理一篇工作中的JavaScript脚本笔记,不定时更新,笔记来自网上资料或者自己经验归纳. (1) 获取Url绝对路径 function getUrlRelativePath() { var url ...

  3. javascript笔记整理(对象遍历封装继承)

    一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...

  4. javascript笔记整理(回调、递归、内置顶层函数)

    1.回调函数(通过函数的指针来调用函数,把一个函数的指针做为另一个函数的参数,当调用这个参数的时候,这个函数就叫做回调函数) a.通过指针来调用 function aa(a,b,fun){ retur ...

  5. JavaScript笔记之数组 keyword(存储和释放&堆栈 & 按值 引用)

    1.数组创建及初始化 var obj=new Array(); var arr=[]; 可以延伸为长度一定的,字面量定义数组 2.堆栈 按值传递 引用类型 数组是引用类型,不是值传递, 栈:系桶自动分 ...

  6. javascript常用方法整理--数组篇

    1. arrayObject.slice(start,end) 从已有的数组中返回选定的元素 参数 描述 start 必需.规定从何处开始选取.如果是负数,那么它规定从数组尾部开始算起的位置.也就是说 ...

  7. javascript笔记整理(正则)

    RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具 var re=/e/; var re=new RegExp('e'); 正则表达式的 String 对象的方法 1.search- ...

  8. javascript笔记整理(事件)

    一.事件驱动 1.事件javascript侦测到的用户的操作或是页面的一些行为(怎么发生的) 2.事件源引发事件的元素(发生在谁的身上) 3.事件处理程序对事件处理的程序或是函数 (发生了什么事) 二 ...

  9. javascript笔记整理(字符串对象)

    一.属性 1.length——字符串的长度(不区分中英文) var a="chen陈"; alert(a.length); //结果:5 2.constructor——对象的构造函 ...

随机推荐

  1. CSS3-旋转齿轮

    CSS3-旋转齿轮 查看DEMO 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片.Flash 动画以及 JavaScript. 先来认识一下css3的animation animat ...

  2. C# Base64解码 二进制输出

    具体的:Base64编码解码还需要学习 /// <summary> /// base64 解码Excel下载 /// </summary> /// <param name ...

  3. Android 6.0 新特性 整理 资料来自网络

    Android 6.0新特性 Runtime Permissions Doze and App Standby Apache HTTP Client Removal BoringSSL Access ...

  4. Tomcat中配置自定义404错误页面

    404,50x这种错误经常遇到. 如果%CATALINA_HOME%\conf\web.xml和具体应用中都有设置%CATALINA_HOME%\webapps\ROOT\WEB-INF\web.xm ...

  5. C# 操作Excel (二)

    根据翻阅LTP.Net知识库系列之四中Office操作功能: 一.记录常用如下 (1)“在自己的程序中宿主Office”的意思就是在我们自己开发的应用程序的窗体上,显示一个就像Office应用程序那样 ...

  6. android编程——百度地图初探

    项目需要,花了一天时间研究了下百度地图的API,其实看起来可能会有点困难,但是将它的DEMO跑起来之后一切都迎刃而解的样子了.百度方面讲地图的接口封装的挺不错的,而且现在能够提供的地图的服务也有将近十 ...

  7. Android:自己定义输入法(输入password时防止第三方窃取)

    对于Android用户而言.一般都会使用第三方的输入法. 但是,在输入password时(尤其是支付相关的password),使用第三方输入法有极大的安全隐患. 眼下非常多网银类的APP和支付宝等软件 ...

  8. ceph install

    Ceph : performance, reliability and scalability storage solution Contents 1 Introduction 1.1 Testing ...

  9. 抽象工厂模式和autofac的使用总结

    抽象工厂模式和依赖注入的使用目的都是降低对象直接依赖耦合关系,应该说依赖注入是抽象工厂模式的一种升华,功能更强大. 说到抽象工厂的模式,一般都要先解释下简单工厂,简单工厂就是将对象的实例化抽取出来形成 ...

  10. js面向对象继承

    前言 最近看到js面向对象这章节了,主要学习了原型和面向对象继承关系,为了梳理自己的知识逻辑,特此记录. js的面向对象 先说说我目前了解的js创建对象方法 1.写一个函数,然后通过new创建对象 2 ...