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

本文探讨了在JavaScript中使用闭包实现静态类的方法,通过一个具体示例展示了如何定义静态属性和方法,并保持私有字段的安全性。文章强调了闭包在模块化JS代码中的作用。

由于MM的事件已干完,接着我们的静态类的实现。这东西在Javascript里用得会非常的频繁,因为针对现在的网页,多个基于同一个类对象的页面不多,往往不同块对象的交互就可以解决问题了,这就需要在JS针对元素定义几个静态类就可以完事了,进入正题。

这次我们直接看例子:

ExpandedBlockStart.gif代码
/***定义静态类***/
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();

 

转载于:https://www.cnblogs.com/Max-Gan/archive/2010/04/02/1700937.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值