读《javascript权威指南》第五版 第七章 对象与数组

来源:互联网 发布:软件成本分析报告 编辑:程序博客网 时间:2024/06/05 04:15

很久没有写博客了,经过一段时间的折腾,本人又开始走在了技术开发的岗位,突然有那么一个想法,以后看书都得写个什么,就是写些不知所云的东西,也要坚持,等自己慢慢变老的时候再回来看看原来自己年轻的时候是这样的,废话少说咱开始…

  • 7.1JS对象创建方法
  • 7.2 对象属性
  • 7.4通用的Object 属性和方法
  • 7.5 数组
  • 7.6 数组元素的读和写

7.1 JS创建对象的方法有两种:

  1. 对象直接量 var o=}
  2. new 运算符 var o=new Object();
    注:JS对象内所有成员都是属性,是一个无序的属性集合,每个属性都有名字和值来组成。包括函数,它也是一个属性。这与java是不一样的。

7.2 对象属性

1、 判断属性的存在性
if( ‘X’ in o )o.x=1;
更好的写法:
if (o.x!==undefined) o.x=1;
2、删除属性
delete o.x;
3 、作为关联数组的对像, 两种访问方式。
object.property
object[“property”]
**注:一个属性可能存在但还是未定义的
如:o.x=undefined;
上面第一行代码被执行,而第二行代码什么都不做**

7.4通用的Object 属性和方法

1、construtor 属性
var d=new Date();
d.construtor==Date return true;
o instanceof Date
2、toString()默认返回 【object ,object】,如何为自己的对象类型提供定制的toString()方法。在运算中对象要转换为字符串时自动被调用。
3、valueOf(),与toString() 类似,返回一个数字的时候被调用,如int,double、boolean等。
4、hasOwnProperty(),本地定义非继承的属性。
5、propertyIsEnumerable(),非继承、可在for/in enumerable.

7.5 数组

具有额外功能层的对象, 作用typeof 返回 object

7.6 数组元素的读和写

1、注:数组的下标必须是: 0=<index<2321,如果太大
或者是负值、浮点数、布尔值、或者是其它对象,结果是被当做
一个对象的属性来处理。如:a[-123]=1,把-123当作一个属性
来处理。
2、删除数据元素,delete 只是把该索引对应的值设置为undefined(delete obj.x;与对象属性删除的区别),真正要删除用:Array.shift() 删除第一个 Array.pop()删除最后一个 Array.splice(),删除其中一个元素。
3、length: a[59]=1; length=60
4、截断和增长数组 array.length=30,通过赋值的方式

7.7 类似数组的对象

var o={}
var i=0;
while(i<10){
a[i]=i*i;
i++
}
a.length=10;
var total=0;
for(var i=0;i<a.length;i++){
total+=a[i];
}
不能对类似数组添加元素或者改变length的值就可以了。

0 0
原创粉丝点击