认识Javascript数组

作者:阿克 来源:蓝色理想 时间:2009-08-27 15:26:00 

1.认识数组

数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象
Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能

1.1 定义数组

声明有10个元素的数组

var a = new Array(10);

此时为a已经开辟了内存空间,包含10个元素,用数组名称加 [下标] 来调用,例如 a[2] 但此时元素并未初始化,调用将返回 undefined

以下代码定义了个可变数组,并进行赋值

var a = new Array();
a[0] = 10;
a[1] = "aaa";
a[2] = 12.6;

上面提过了,数组里面可以放对象,例如下面代码

var a =    new Array();
a[0]    = true;
a[1]    = document.getElementById("text");
a[2]    = {x:11, y:22};
a[3]    = new Array();

数组可以实例化的时候直接赋值,例如

var a = new Array(1, 2, 3, 4, 5);
var b = [1, 2, 3, 4, 5];

a 和 b 都是数组,只不过b用了隐性声明,创建了另一个实例,此时如果用alert(a==b)将弹出false

1.2 多维数组

其实Javascript是不支持多维数组的,在asp里面可以用 dim a(10,3)来定义多维数组,在Javascript里面,如果用 var a = new Array(10,3) 将报错
但是之前说过,数组里面可以包含对象,所以可以把数组里面的某个元素再声明为数组,例如

var a = new Array();
a[0] = new Array();
a[0][0] = 1;
alert(a[0][0]);  //弹出 1

声明的时候赋值

var a = new Array([1,2,3], [4,5,6],    [7,8,9]);
var b = [[1,2,3], [4,5,6], [7,8,9]];

效果一样,a采用常规实例化,b是隐性声明,结果都是生成一个多维数组

1.3 Array literals

这个还真不知中文怎么叫,文字数组?
说到数组,不得不说到Array  Literals,数组其实是特殊的对象,对象有特有属性和方法,通过 对象名.属性 、对象.方法() 来取值和调用,而数组是通过下标来取值,Array Literals跟数组有很多相似,都是某数据类型的集合,但是Array Literals从根本来说,是个对象,声明和调用,跟数组是有区别

var aa = new Object();
aa.x = "cat";
aa.y = "sunny";
alert(aa.x);    //弹出cat

创建一个简单的对象,一般调用是通过aa.x,而如果当成Array  literals的话,用alert(aa[“x”])一样会弹出cat

var a = {x:"cat",    y:"sunny"};
alert(a["y"]);  //弹出sunny

这是另一种创建对象的方法,结果是一样的

标签:javascript,数组
0
投稿

猜你喜欢

  • Python变量和数据类型和数据类型的转换

    2023-09-28 07:44:34
  • Python中的基本数据类型讲解

    2021-04-29 07:07:24
  • python实现分页效果

    2021-07-12 16:00:44
  • Python基于jieba, wordcloud库生成中文词云

    2022-12-24 06:31:04
  • 一文读懂Python 枚举

    2023-02-16 16:12:46
  • python内置函数:lambda、map、filter简单介绍

    2021-06-06 02:06:01
  • sql 查询慢的原因分析

    2024-01-16 13:11:29
  • 关闭时刷新父窗口两种方法

    2024-06-11 20:21:24
  • python __init__与 __new__的区别

    2022-05-04 01:27:57
  • 用JS实现网页元素阴影效果的研究总结

    2024-05-02 16:12:02
  • Python3 filecmp模块测试比较文件原理解析

    2021-10-28 15:24:19
  • go语言环境搭建简述

    2024-05-22 10:12:57
  • Python自然语言处理之词干,词形与最大匹配算法代码详解

    2023-07-23 04:48:37
  • python django中8000端口被占用的解决

    2021-07-14 02:43:19
  • Python3实现购物车功能

    2021-01-15 08:43:10
  • phpcms中的评论样式修改方法

    2024-05-02 17:17:23
  • 浅谈Python中的异常和JSON读写数据的实现

    2021-02-07 10:41:16
  • Python 切片索引越界的问题(数组下标越界)

    2023-09-11 23:00:30
  • 利用Vite2和Vue3实现网站国际化的全过程

    2023-07-02 17:09:14
  • python后端接收前端回传的文件方法

    2023-07-29 04:04:05
  • asp之家 网络编程 m.aspxhome.com