Javascript 类与静态类的实现(续)

  这次我们直接看例子:

  

复制代码 代码如下:

  /***定义静态类***/

  var StaticClass = (function(){

  var Return = {

  Property: "Test Static Property", //公有属性

  Method: function(){ //公有方法

  alert(_Field); //调用私用字段

  privateMethod(); //调用私用方法

  }

  }; //定义返回的公有对象

  var _Field = "Test Static Field"; //私有字段

  var privateMethod = function(){ //私有方法

  alert(Return.Property); //调用属性

  }

  return Return; //生成公有静态元素

  })();

  这次,我用的是闭包的方式去实现,其中最重要的一点是reutrn Return; 这里会引伸到值类型与引用类型的概念。在js里,Object就是一个引用类型,在闭包里,我会抛出一个包含有属性与方法的Object的引用,这样,也可以说是把这个Object抛向了外部,实现了公开。StaticClass这个变量接住了Return引用。 对于闭包内部的私有字段与方法都是没有被抛出的,这样就可以形成一个私有的环境。

  很多时候我们都会用这种技巧去对JS进行分块,让程序不会那么的混乱。

  上面的例子没这么干过的兄弟们也可以自己去试试。忘了,刚刚那个例子大家可以这么样去试试。

  

复制代码 代码如下:

  StaticClass.Method();

  StaticClass.Property = "Test2";

  StaticClass.Method();

  一个人能够走多远,取决于与谁同行