1. JS Object-oriented 6 types (details)
<!DOCTYPE HTML><HTML><HeadLang= "en"> <MetaCharSet= "UTF-8"> <title></title></Head><Body><Script> //1. Object-based Objects var Person=NewObject (); Person.name='My name'; Person.getname= function () { return This. Name+'is AA'; } console.log ("Person.getname:"+person.getname ()); //2. Object Literal method varPerson2={name:'Person2', GetName:function () { return This. Name+'is BB'; }} console.log ("Person2.getname:"+person2.getname ()); //3. Factory mode functionCreatePerson3 (name,age) {varo=NewObject (); O.name=name; O.age=Age ; O.getname=function(){ return This. Name+'is cc'; } returno;//return the generated object instance using return } varPerson3=CreatePerson3 ('Person3', A); Console.log ("Person3.getname:"+person3.getname ()); //4. Constructor Mode functionPerson4 (name,age) { This. Name=name; This. Age=Age ; This. GetName= function () { return This. Name+"is DD"; } } varPerson4=NewPerson4 ('Person4', A); Console.log ("Person4.getname:"+person4.getname ()); //5 prototype Mode functionPerson5 () {} Person5.prototype.name='Person5'; Person5.prototype.age= A; Person5.prototype.getName= function () { return This. Name+"is ee"; } varPerson5=NewPerson5 (); Console.log ("person5.getname ():"+person5.getname ()); //6 combinatorial constructors and prototype patterns functionPerson6 (name,age) { This. Name=name; This. Age=Age ; } Person6.prototype={construct:person6,//The prototype literal method changes the object's constructor into object and also forces the person to refer back to the personGetName:function () { return This. Name+"is FF"; } } varPerson6=NewPerson6 ('Person6', A); Console.log ("person6.getname ():"+person6.getname ());</Script></Body></HTML>View Code
JavaScript Design patterns and development practices