javascript数组与对象区别和联系

来源:互联网 发布:天猫淘宝网商城首页 编辑:程序博客网 时间:2024/06/03 00:03

在学习javascript这门语言的时候遇到了很多问题,主要是由于这门语言与其他语言相比,有很多的“怪癖”,其中之一便是它的对象的特殊性。在javascript

象被定义为属性和值的集合。最直接的表现便是对象字面量:var obj={a:3,b:"hello",c:[1,2,3]}。相比传统的面向对象的语言,这种方式大大简化的对象

创建。在这种情况下,javascript的对象其实就是一个关联数组。那么javascript的数组又是什么呢?在javascript中,数组又可以认为是索引数组,即可以

用整数来进行索引。数组和对象在这种情况下非常接近,那到底他们的区别在哪里呢?其实,javascript的对象和数组之间的区别并不是那么的明显和必

要,因为在javascript中,数组也是一种对象,只不过他有比较特殊的方法,比如push,pop等,当使用typeof判断数组类型时其会返回object便可看出。有

一个比较直观的方法可以说明对象和数组之间的关系:

var a=[1,2,3,4];a["pro"]="hello";alert(a.length)。在这种情况下,数组a的长度不变,pro是a这个对象的属性而不是其元素,由于在javascript中,对象的属

性可以用点号和中括号来引用,而数组的元素使用中括号来引用,因此会造成误解。所以,在javascript中,数组是一种特殊的对象,其除了具有一般对象

的一些属性和方法外,又具有一些专属于数组的属性和方法。

原创粉丝点击