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>