JavaScript对象本质就是哈希表

hash表:是一种二维结构,管理着一对对这样的键值对,简单来说,hash表就是键值对的集合

  • JavaScript中的对象其实就是哈希表,里面存着若干键值对,属性名称就是哈希表的key,而属性的值就是哈希表的值。一个javascript对象,实际上就是一个数组或是映射。
  • 数组和映射的区别在于,数组的数据是并列排序的,映射是无序的,映射使用key来定位其中的成员,而数组使用下标,映射无法使用下标定位,同样数组也无法使用key
  • 映射可以使用类似对象属性的方式来访问(如:m.name),也可以使用带key的[]方式(如:m['name'],这是javascript一个特例,看上去像数组,实际上仍是映射);但数组仅能使用下标的方式;
var m = {
    name:'keel',
    age:5
}
var a = [m,'sss',3];
//以下请求成功定位到name属性
alert(m['name']);
alert(a[0]['name']);//a[0]定位到m
alert(a[0].name);
//以下失败
alert(m[0]);//映射无法以数组下标的方式访问

你可能感兴趣的:(JavaScript对象本质就是哈希表)