Javascript 静态类

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:33   2499   0

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 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP