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

一、为什么要使用数组。

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. Introduction to Guid ( globally unique identifier )

    什么是 GUID? 全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装. 在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID. GUID 的格式为 ...

  2. Kettle之数据抽取、转换、装载

    Kettle 官网 ETL利器Kettle实战应用解析系列 利用kettle组件导入excel文件到数据库 kettle中实现动态SQL查询 java中调用kettle转换文件

  3. Qt见解:Post 与 Get 的区别(Get将参数直接与网址整合为一个整体,而Post则将其拆为两个部分)

    第一次接触Qt的Http项目,今天看了一下Post和Get的基本使用方法,就开始尝试了.原先以为Post专门用于向服务器发送请求,然后接收服务器应答的: 而Get只是单纯从服务器获取资源,比如下载这个 ...

  4. [WPF疑难]如何禁用窗口上的关闭按钮

    原文 [WPF疑难]如何禁用窗口上的关闭按钮 [WPF疑难]如何禁用窗口上的关闭按钮                                           周银辉 哈哈,主要是调用Rem ...

  5. RMAN多种备份脚本分享

    1.相关参数介绍: 命令行参数 描述 TARGET 为目标数据库定义的一个连接字符串,当连接到一个目标数据库时,该连续是SYSDBA连接.该用户拥有启动和关闭数据库的权利,必须属于OSDBA组,必须建 ...

  6. vc 国际化的资源文件处理

    MS Windows操作系统是一个世界上广泛使用的操作系统,对于不同语种的国家MS Windows有相应语种的版本.在不同语种的Windows平台上应该运行相应语种的应用程序.也就是说程序的用户界面( ...

  7. 平实给力的写作指导入门手冊——leo鉴书57

    写作是个体力活儿,须要不断的练习和砥砺.既然是体力劳动,那必定有套路,前人总结.后人学习并加以积累沉积,日久则形成不同的风格和流派有点儿像.相同,写作也有自己的套路和学习路径.初涉写作有必备之书吗?当 ...

  8. MVC action返回partialView前台html 拼接

    //后台 [HttpPost] public ActionResult GetNextLazyLoadProduct(int[] productIdList)         {           ...

  9. ThinkPHP - I 函数

    ThinkPHP函数详解:I方法   浏览:144722 发布日期:2013/06/01 分类:文档教程 关键字: 函数 ThinkPHP的I方法是3.1.3版本新增的,如果你是之前的3.*版本的话, ...

  10. Python中函数式使用

    对于链表来讲,有三个内置函数非常有用: filter(),map() 以及 reduce(). filter(function, sequence) 返回一个 sequence(序列),包括了给定序列 ...