今天打开自己以前编写过的一些Javascript代码,看到了一段关于享元类的代码,觉得思路不错,就黏上来分享一下,体现一个本人的淫格,:) “享元类”这个概念和思维我也是从《Javascript设计模式》这本书里得知的,实现方法虽然很简单,可是它所体现出来的思维是不错的:通过将一个类的方法传递给另外的一个类,而且可以有选择的来传递。这个思路或许也不新鲜了,可是从这里扩展开来,就给予了我们一种非常好的思维方式了,比如目前流行的“模块编写方式”,模块于模块之间的方法共通以及集合数组方式添加方法到类里面都是可行的,不用通过prototpe的方式来写每一个方法属性。享元类的思路就是将通用的方法组合起来到一个类里面,之后哪一个对象或者类想要这些方法了,就可以扩展到那里了。同时这也是减少代码编写量的一种不错的方式吧。 我参考了书中的享元类的设计方式,扩展到第二个参数可以是对象,也可以是类,具体请看下面的代码: [javascript] //将指定的类或者对象全部的方法添加到第一个参数的类里面。 var ShareClass = function(classObj){ //享元类 var a = arguments; //如果存在第二个参数,则将第二个参数内指定的obj或者class类内的属性和方法传递给第一个参数内的类 //注意:第一个参数需要为类,当然,可以做判断,再分支写代码,这些都是类似来实现的,就不多写了 if (a[1]) { //第二个参数为对象或者类都可以 … 了解更多