日期:2014-05-16  浏览次数:20399 次

javascript创建对象的方式(三)
在上篇博客中,我们使用工厂方法来创建“人”对象,并在文章最后指出这种创建方式的两个缺点:

1、“人”对象,“run”行为的实现重复创建Function对象,浪费内存。
2、代码的简洁性,可读性有待提高。

今天,我们先解决缺点2,通过“构造函数”的方式创建对象,以提高代码的可读性。

下面的例子是如何通过构造函数来定义一个对象。

function Person(name, age, sex) {
	this.name = name;
	this.age = age;
	this.sex = sex;
	this.run = function() {
		alert(this.name + " is running!");
	}
}


通过如下语句来创建多个“人”的对象,并调用该对象的“run”方法。

var p1 = new Person("redhacker", 20, "男");
var p2 = new Person("wendy", 18, "女");
p1.run();
p2.run();


这种通过构造函数定义对象,并通过new的方式创建对象的方式,更接近于java语言的方式,让人感觉更容易理解。这种方式成功解决了工厂模式方式创建对象的缺点2,但对于Function对象重复创建的问题还没有解决,我们下篇博客再来絮叨絮叨。