【JavaScript高级程序设计】9、创建对象(1)
1、工厂模式
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javascript">
//工厂模式
function createPerson(name, age, job)
{
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.sayName = function()
{
alert(this.name);
};
return o;
}
var person1 = createPerson("Nicholas", 29, "software Engineer");
var person2 = createPerson("Greg", 27, "Doctor");
person1.sayName();
</script>
</head>
<body>
</body>
</html>
显示结果:

2、原型模式
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javascript">
function Person(){}
Person.prototype.name = "Nicholas";
Person.prototype.age = 29;
Person.prototype.job = "Software Engineer";
Person.prototype.sayName = function()
{
alert(this.name);
};
var person1 = new Person();
person1.sayName(); //输出姓名:Nicholas
var person2 = new Person();
person2.sayName(); //输出姓名:Nicholas
alert(person1.sayName == person2.sayName); //true
</script>
</head>
<body>
</body>
</html>
结果:




浙公网安备 33010602011771号