JS基础_使用工厂方法创建对象(了解下就行了,用的不多)

Posted 星辰郎周

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS基础_使用工厂方法创建对象(了解下就行了,用的不多)相关的知识,希望对你有一定的参考价值。

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <script type="text/javascript">
 7             
 8             /*
 9              * 创建一个对象
10              */
11             var obj = {
12                     name:"孙悟空",
13                     age:18,
14                     gender:"",
15                     sayName:function(){
16                         alert(this.name);
17                     }
18             };
19             
20             //--------------------------------------------------------------------------
21             
22             /*
23              * 使用工厂方法创建对象
24              *     通过该方法可以大批量的创建对象
25              */
26             function createPerson(name , age ,gender){
27                 //创建一个新的对象 
28                 var obj = new Object();
29                 //向对象中添加属性
30                 obj.name = name;
31                 obj.age = age;
32                 obj.gender = gender;
33                 obj.sayName = function(){
34                     alert(this.name);
35                 };
36                 //将新的对象返回
37                 return obj;
38             }
39             
40             /*
41              * 用来创建狗的对象
42              */
43             function createDog(name , age){
44                 var obj = new Object();
45                 obj.name = name;
46                 obj.age = age;
47                 obj.sayHello = function(){
48                     alert("汪汪~~");
49                 };
50                 
51                 return obj;
52             }
53             
54             var obj2 = createPerson("猪八戒",28,"");
55             var obj3 = createPerson("白骨精",16,"");
56             var obj4 = createPerson("蜘蛛精",18,"");
57             
58             /*
59              * 使用工厂方法创建的对象,使用的构造函数都是Object
60              *     所以创建的对象都是Object这个类型,
61              *     就导致我们无法区分出多种不同类型的对象
62              */
63              
64             //创建一个狗的对象
65             var dog = createDog("旺财",3);
66             
67             console.log(JSON.stringify(dog));//{"name":"旺财","age":3}
68             console.log(JSON.stringify(obj4));//{"name":"蜘蛛精","age":18,"gender":"女"}
69             
70             
71         </script>
72     </head>
73     <body>
74     </body>
75 </html>

 

以上是关于JS基础_使用工厂方法创建对象(了解下就行了,用的不多)的主要内容,如果未能解决你的问题,请参考以下文章

JS面向对象基础讲解(工厂模式构造函数模式原型模式混合模式动态原型模式)

工厂设计模式

iOS 工厂模式

PHP设计模式_工厂模式

深度解析spring源码IOC原理

Spring源码:IOC原理解析