javascript对象和数组的区别是什么


本文摘自PHP中文网,作者青灯夜游,侵删。

区别:区别:1、对象是包含已命名的值的无序集合,而数组是包含已编码的值的有序集合。2、数组的数据没有名称,只有下标,而对象的数据需要指定名称。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

JavaScript 中的对象(Object)和数组(Array)有时候看起来很相似,但它们是两种不同类型的数据集合,其中对象是包含已命名的值的无序集合,而数组则是包含已编码的值的有序集合。

示例1

下面示例分别使用对象和数组来存储 1 和 true 这两个值。代码结构如下:

1

2

3

4

5

6

7

8

var o = {  //对象

    x :1,  //该值命名为x

    y : true  //该值命名为y

}

var a = [  //数组

    1,  //该值隐含编码为0

    true  //该值隐含编码为1

]

对象的存储形式很像数组,因此被称为关联数组,但它不是真正意义上的数组。关联数组就是将值与特定字符串关联在一起。真正的数组与字符串没有联系,但是它将值和非负整数的下标关联在一起。

1

2

console.log(o["x"]);  //返回1,使用点语法存取属性

console.log(a[0]);  //返回1,使用中括号存取属性

使用点语法存取属性时,属性名是标识符;而使用中括号存取属性时,属性名为字符串。

示例2

当用点号运算符来存取对象属性时,属性名是用标识符表示的;当用中括号来存取对象属性时,属性名是用字符串表示的,因此可以在运行过程中动态生成字符串。

1

2

3

4

5

6

7

var o = {

    p1 : 1,

    p2 : true

}

for (var i = 1; i < 3; i ++) {

    console.log(o["p" + i]);

}

通过关联数组法访问带有字符串表达式的对象属性是非常灵活的。当对象属性非常多时,使用点语法来存取对象属性会比较麻烦。另外,在一些特殊情况下只能使用关联数组形式来存取对象属性。

【相关推荐:javascript学习教程

以上就是javascript对象和数组的区别是什么的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

javascript如何实现弹出层效果?(代码分析)

asp与javascript的区别是什么

javascript如何删除cookie

javascript怎么判断是否为null

javascript怎么清除标签的浮动

浅谈javascript之dom核心操作

javascript事件委托的技术原理

javascript怎么将日期时间转为时间戳

vue-cli3.0安装与配置的方法教程(图文)

jquery怎么判断值是否在数组中

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...