`
kewen342757003
  • 浏览: 142938 次
社区版块
存档分类
最新评论

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中的数组不支持多维数组,但是支持数组内一个值为一个完整的数组,可以说是变相的多维数组。


     
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics