javascript设计模式与开发实践
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript设计模式与开发实践相关的知识,希望对你有一定的参考价值。
1. js面向对象6种形式(详情)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> // 1. 基于object的对象 var person=new Object(); person.name=‘my name‘; person.getName= function () { return this.name+‘ is aa‘; } console.log("person.getName: "+person.getName()); //2.对象字面量方式 var person2={ name:‘person2‘, getName: function () { return this.name+‘ is bb‘; } } console.log("person2.getName: "+person2.getName()); //3.工厂模式 function createPerson3(name,age){ var o=new Object(); o.name=name; o.age=age; o.getName=function(){ return this.name+‘ is cc‘; } return o;//使用return返回生成的对象实例 } var person3=createPerson3(‘person3‘,12); console.log("person3.getName: "+person3.getName()); // 4.构造函数模式 function Person4(name,age){ this.name=name; this.age=age; this.getName= function () { return this.name+" is dd"; } } var person4=new Person4(‘person4‘,22); console.log("person4.getName: "+person4.getName()); //5 原型模式 function Person5(){ } Person5.prototype.name=‘person5‘; Person5.prototype.age=22; Person5.prototype.getName= function () { return this.name+" is ee"; } var person5=new Person5(); console.log("person5.getName(): "+person5.getName()); // 6 组合构造函数及原型模式 function Person6(name,age){ this.name=name; this.age=age; } Person6.prototype={ construct:Person6,//原型字面量方式会将对象的constructor变为Object,此外强制指回Person getName: function () { return this.name+" is ff"; } } var person6=new Person6(‘person6‘,22); console.log("person6.getName(): "+person6.getName()); </script> </body> </html>
以上是关于javascript设计模式与开发实践的主要内容,如果未能解决你的问题,请参考以下文章