JS权威指南(动物系列犀牛书)读书笔记——第七章 数组(1)

1.通过运算符“.”进行对象属性的存储。

2.关联数组(associative array)
简单来说就是这样:
var Hero_Name = get_Name_FromXXX();
var Hero_Level = get_Level_FromXXX();
Dota[Hero_Name] = Hero_Level;

我有一个英雄,是从页面获取了名字,再从页面获取了等级,然后都把它们赋值给Dota这个对象,这两个数组之间是有关联关系的,一个英雄名称,对应一个英雄等级。

这个地方由于在输入英雄名称之前,我无法取到这个Hero_Name的属性名,这样就不能使用“.”操作符来取得Hero_Level属性的值,这种情况下我们就需要用到关联数组来解决问题。

之后可以用for/in循环取值,这是不知道属性名时取值的唯一方法。

3.通用的Object属性和方法:
(1)Constructor属性
该属性引用了初始化这个对象的构造函数,所以该属性可以用于判断此对象的类型。
     var d = new Date();
d.constructor == Date; //该值为true

(2)toString()方法
基本上和java中的默认toString()方法一样,很多情况下需要自己重写。
(3)valueOf()方法
和toString()基本类似,只不过不是反悔一个string,而是返回一个数字,很多情况下也需要重写
其他几个方法好像用到的不多,先不记了。

4.数组
(1)数组下标是稀疏的,可以定义不用连续。 比如定义了a[0] = 1; a[10000] = 2;
实际上只是定义了两个值,中间的不存在,而且也不会被分配内存。
(2)由于上述原因,length值只保证比下标最大值 +1 ,不保证数量正确。
(3)之前提过的,JS中的数组不支持多维数组,但是支持数组内一个值为一个完整的数组,可以说是变相的多维数组。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值