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

一、为什么要使用数组。

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. json在PHP中应用技巧

    一.json_encode() 该函数主要用来将数组和对象,转换为json格式.先看一个数组转换的例子: $arr = array ('a'=>1,'b'=>2,'c'=>3,'d' ...

  2. QPushButton跑进度条(使用QSS的不同修饰来实现,其实是伪进度条)

    主要用到qlineargradient,写以下CSS样式即可实现: background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, sto ...

  3. C的memset,memcpy,strcpy 的区别 及memset memcpy memmove源码

    extern void *memcpy(void *dest,void *src,unsigned int count);#include <string.h>   功能:由src所指内存 ...

  4. Oracle 11g RAC 环境下单实例非缺省监听及端口配置

    如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器.大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口.而且在Orac ...

  5. 【IPC进程间通信之四】数据复制消息WM_COPYDATA

    IPC进程间通信+数据复制消息WM_COPYDATA                IPC(Inter-Process Communication,进程间通信).         数据复制消息WM_C ...

  6. Performance Tuning guide 翻译 || Performance Tuning Guide 11G中新增特性

    CSDN 对格式支持比較弱.能够到http://user.qzone.qq.com/88285879/blog/1399382878 看一致的内容. Performance Tuning Guide  ...

  7. UITabbar的常用属性

    // //设置tabbar的背景颜色 // [self.tabBar setBarTintColor:[UIColor redColor]]; // //设置选中时图片和文字的颜色 // [self. ...

  8. [Swust OJ 1126]--神奇的矩阵(BFS,预处理,打表)

    题目链接:http://acm.swust.edu.cn/problem/1126/ Time limit(ms): 1000 Memory limit(kb): 65535 上一周里,患有XX症的哈 ...

  9. [Swust OJ 1097]--2014(数位dp)

    题目链接:http://acm.swust.edu.cn/problem/1097/ Time limit(ms): 1000 Memory limit(kb): 32768   今年是2014年,所 ...

  10. C# 继承细节

    假定没有为类定义任何显式的构造函数,这样编译器就会为所有的类提供默认的构造函数,在后台会进行许多操作,编译器可以很好地解决层次结构中的所有问题,每个类中的每个字段都会初始化为默认值.但在添加了一个我们 ...