Javascript 静态类

1,首先来明确下静态类的定义:  不能被实例化,仅包含静态成员,不包含实例构造函数,无需创建实例,用类名就能直接访问其成员。

 

javascript中创建静态类的方式如下:

 

StaticClass = {

    a1: 1,

    a2: 2,

    f1 : function(){},

    f2 : function(){}

}

 

由于StaticClass不包含构造函数,所以不能用new来实例化。 它其实就是一个全局对象。

 

Ext中有许多静态类,其创建的方式一般如下:

 

Ext.Class = function(){

var t1 = 1;

        var t2 = 2;

        function f1(){};

        function f2(){};

        var re = {

   a1: xxx,

           a2: xxx,

           fn1:function(){},

           fn2:function(){}

}

return  re;

}()

 

采用闭包的方式实现,最后返回的实际上也是一个对象,不能再被实例化,最后的()运算符不能少,如果不加(),则Class只是一个函数定义,函数体并未运行。

 

采用这种方式实现静态类的方式的好处是可以保存一些局部变量,和私有函数,并能做一些预处理。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值