作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.JavaScript源代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>使用工厂方法创建对象</title>
<script type="text/javascript">
/**
* 使用工厂方法创建对象:
* 顾名思义,通过该方法可以大批量的创建对象。
* 这样做的好处就是不用每次创建相同类型的对象就得拷贝一堆代码,从而实现了代码的复用性。
*
* 温馨提示:
* 使用工厂方法创建的对象,使用的构造函数都是object,所以创建的对象都是object这个类型,就导致我们无法区分出多种不同类型的对象。
* 综上所述,工厂方法创造对象的方法了解即可,我们更常用的是构造方法(也就是我们常说的类)。
*/
function FactoryPerson(name,age,address) {
// 创建一个新的对象
var obj = new Object();
// 向对象添加属性
obj.name = name;
obj.age = age;
obj.address = address;
obj.sayHello = function () {
console.log("I'm %s, and have %d years old. By the way, I live in %s",this.name,this.age,this.address)
}
// 返回新的对象
return obj;
}
// 批量产生对象
var obj1 = FactoryPerson("孙悟空",500,"花果山");
var obj2 = FactoryPerson("蜘蛛精",300,"盘丝洞");
var obj3 = FactoryPerson("如来佛祖",1000,"大雷音寺");
obj1.sayHello();
obj2.sayHello();
obj3.sayHello();
</script>
</head>
<body>
</body>
</html>
二.浏览器打开以上代码渲染结果