木子屋 Dnawo's BLOG

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

👤 dnawo 📅 2008-12-17 👁 9241 👍 0 💬 0 🔄 本站原创
在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属性,它也是一个对象,称为原型对象,构造函数创建的类可以继承原型对象中所有的属性和方法,从这点意义来说,原型对象相当于是父类。

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 .NET中的虚函数 下一篇 → 常见网络广告定价模式