javascript设计模式-掺元类
Posted 腾格里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript设计模式-掺元类相关的知识,希望对你有一定的参考价值。
有一种重用代码的方法不需要用到严格的继承。如果想把一个函数用到多个类中,可以通过扩充的方式让这些类共享该函数。其实际做法大大体为:先创建一个包含各种通用方法的类,然后再用它扩充其他的类。这种方式就叫做掺元类。
1 function augment(receivingClass,givingClass){ 2 if(arguments.length > 2){ 3 for(var i= 2, len = arguments.length;i<len;i++){ 4 receivingClass.prototype[arguments[i]] = givingClass.prototype[arguments[i]]; 5 } 6 }else{ 7 for(var methodName in givingClass.prototype){ 8 if(!receivingClass.prototype[methodName]){ 9 receivingClass.prototype[methodName] = givingClass.prototype[methodName]; 10 } 11 } 12 } 13 } 14 15 function Author(name,books){ 16 this.name = name; 17 this.books = books; 18 } 19 Author.prototype.getBooks = function(){ 20 return this.books; 21 } 22 23 var MiXin = function(){}; 24 MiXin.prototype = { 25 serialize:function(){ 26 var output = []; 27 for(key in this){ 28 output.push(key + ":" + this[key]); 29 } 30 return output.join(", "); 31 } 32 } 33 augment(Author,MiXin); 34 var author = new Author("zap","读书笔记"); 35 console.log(author.serialize());
以上是关于javascript设计模式-掺元类的主要内容,如果未能解决你的问题,请参考以下文章
深刻理解Python中的元类(metaclass)以及元类实现单例模式
HTML5期末大作业:餐饮美食网站设计——咖啡(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 咖啡网页设计 美食餐饮网页设计...(代码片段