js参考---使用工厂方法创建对象

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             function createPerson(name , age ,gender){
25                 //创建一个新的对象 
26                 var obj = new Object();
27                 //向对象中添加属性
28                 obj.name = name;
29                 obj.age = age;
30                 obj.gender = gender;
31                 obj.sayName = function(){
32                     alert(this.name);
33                 };
34                 //将新的对象返回
35                 return obj;
36             }
37             
38             /*
39              * 用来创建狗的对象
40              */
41             function createDog(name , age){
42                 var obj = new Object();
43                 obj.name = name;
44                 obj.age = age;
45                 obj.sayHello = function(){
46                     alert("汪汪~~");
47                 };
48                 
49                 return obj;
50             }
51             
52             var obj2 = createPerson("猪八戒",28,"");
53             var obj3 = createPerson("白骨精",16,"");
54             var obj4 = createPerson("蜘蛛精",18,"");
55             /*
56              * 使用工厂方法创建的对象,使用的构造函数都是Object
57              *     所以创建的对象都是Object这个类型,
58              *     就导致我们无法区分出多种不同类型的对象
59              */
60             //创建一个狗的对象
61             var dog = createDog("旺财",3);
62             
63             console.log(dog);
64             console.log(obj4);
65             
66             
67         </script>
68     </head>
69     <body>
70     </body>
71 </html>
 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/12432401.html