西红柿爱番茄

Feed Rss

文章标签 ‘class’

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

在Javascript的OOP编程过程中,构造函数的声明方式和编写都是必须的,下面是我所能想到的五种构造函数的声明方式,现在就让我们来测试一下它们实例化的性能比较有什么差别(当然了,下面的只是一些简单的构造函数,对于庞大的构造函数的话,性能的差异也就更加明显了)。 第一种方式:就是我们普通都会使用的方式了,在构造函数内声明属性,在函数为通过prototype声明方法 [javascript] var Class3 = function(){ this.website = "http://www.ilovejs.net"; } Class3.prototype = { showSite: function(){ alert(this.website); } } [/javascript] … 了解更多