Javascript进阶课程---1、使用工厂模式创建对象
一、总结
一句话总结:
使用工厂模式创建对象 本质: 利用函数封装代码(创建对象的代码),方便对代码进行复用
function createPeople(name,age) { //创建字面量的方式 var people={ name:name, age:age, say:function () { console.log('我叫'+this.name+', 今年'+this.age+'岁。'); } }; return people; } var shaHeShang=createPeople('沙和尚',15); console.log(shaHeShang); shaHeShang.say(); var xiaoBaiLong=createPeople('小白龙',13); console.log(xiaoBaiLong); xiaoBaiLong.say();
二、使用工厂方法创建对象
博客对应课程的视频位置:1、使用工厂模式创建对象
https://www.fanrenyi.com/video/21/182
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>1、使用工厂模式创建对象</title> 6 </head> 7 <body> 8 <!-- 9 10 函数的作用:封装代码,方便对代码进行复用 11 12 使用工厂模式创建对象 本质: 利用函数封装代码(创建对象的代码),方便对代码进行复用 13 14 --> 15 <script> 16 //创建对象 17 // var sunWuKong=new Object(); 18 // sunWuKong.name='孙悟空'; 19 // sunWuKong.age='999'; 20 // sunWuKong.say=function () { 21 // console.log('我叫'+this.name+', 今年'+this.age+'岁。'); 22 // }; 23 // console.log(sunWuKong); 24 // sunWuKong.say(); 25 26 //js字面量方式创建对象, 27 // var zhuBaJie={ 28 // name:'猪八戒', 29 // age:3, 30 // say:function () { 31 // console.log('我叫'+this.name+', 今年'+this.age+'岁。'); 32 // } 33 // }; 34 // console.log(zhuBaJie); 35 // zhuBaJie.say(); 36 37 38 //需求:要创建一个沙和尚的对象 39 // var shaHeShang=new Object(); 40 // shaHeShang.name='沙和尚'; 41 // shaHeShang.age='9'; 42 // shaHeShang.say=function () { 43 // console.log('我叫'+this.name+', 今年'+this.age+'岁。'); 44 // }; 45 // console.log(shaHeShang); 46 // shaHeShang.say(); 47 48 function createPeople(name,age) { 49 // var people=new Object(); 50 // people.name=name; 51 // people.age=age; 52 // people.say=function () { 53 // console.log('我叫'+this.name+', 今年'+this.age+'岁。'); 54 // }; 55 // return people; 56 57 //创建字面量的方式 58 var people={ 59 name:name, 60 age:age, 61 say:function () { 62 console.log('我叫'+this.name+', 今年'+this.age+'岁。'); 63 } 64 }; 65 return people; 66 67 } 68 // var shaHeShang=createPeople(); 69 // console.log(shaHeShang); 70 // shaHeShang.say(); 71 72 var shaHeShang=createPeople('沙和尚',15); 73 console.log(shaHeShang); 74 shaHeShang.say(); 75 76 var xiaoBaiLong=createPeople('小白龙',13); 77 console.log(xiaoBaiLong); 78 xiaoBaiLong.say(); 79 </script> 80 </body> 81 </html>