比较直接量和构造函数创建的Js对象

在Js中,创建对象的方法可有两种:直接量和构造函数,如下例子:

//直接量
var O = {aa:1,bb:2};
//构造函数
var OO = function(){
    this.aa = 100;
    this.bb = 200;
}

它们的使用方法也稍有不同:构造函数对象需用new运算符来调用,而直接量对象则不用。

alert(O.aa);
alert((new OO()).aa);

我们知道,使用delete可以删除对象的属性和方法,直接量对象的属性和方法一旦删除将不可再使用,而构造函数对象的属性和方法即使删除了,重新调用后它仍存在:

alert(O.aa);//return: 1
delete O.aa;
alert(O.aa);//return: undefined

var oo = new OO();
alert(oo.aa);//return: 100
delete oo.aa;
alert(oo.aa);//return: undefined

var oo = new OO();
alert(oo.aa);//return: 100
delete oo.aa;
alert(oo.aa);//return: undefined


2009-07-16 理解:

Js中构造函数相当于创建了一个类,之后可以使用new关键字来实例化出一个对象,而对象直接量相当于一次性完成了上面两个步骤,直接返回一个对象。另外,构造函数有一个prototype属性,它也是一个对象,称为原型对象,构造函数创建的类可以继承原型对象中所有的属性和方法,从这点意义来说,原型对象相当于是父类。

上一篇: .NET中的虚函数
下一篇: 常见网络广告定价模式
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 8585
发表评论
登录后再发表评论!