IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Javascript 静态类的实现

WEB前端开发 2012-03-04 17:33:21 累计浏览 2,268 次
本机暂存

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

01 /***定义静态类***/
02 var Core = {};
03 Core.StaticClass = (function(){
04     var Return = {
05         Property: "Test Static Property",    //公有属性
06         Method: function(){    //公有方法
07             alert(_Field);    //调用私用字段
08             privateMethod();    //调用私用方法
09         }
10     };    //定义返回的公有对象
11   
12     var _Field = "Test Static Field";    //私有字段
13     var privateMethod = function(){    //私有方法
14         alert(Return.Property);    //调用属性
15     }
16   
17     return Return;    //生成公有静态元素
18 })();

这次,我用的是闭包的方式去实现,其中最重要的一点是reutrn Return; 这里会引伸到值类型与引用类型的概念。在js里,Object就是一个引用类型,在闭包里,我会抛出一个包含有属性与方法的Object的引用,这样,也可以说是把这个Object抛向了外部,实现了公开。StaticClass这个变量接住了Return引用。 对于闭包内部的私有字段与方法都是没有被抛出的,这样就可以形成一个私有的环境。
很多时候我们都会用这种技巧去对JS进行分块,让程序不会那么的混乱。
上面的例子没这么干过的兄弟们也可以自己去试试。忘了,刚刚那个例子大家可以这么样去试试。
Core.StaticClass.Method();
Core.StaticClass.Property = “Test2″;
Core.StaticClass.Method();

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. JQuery实现Excel表格呈现 (累计阅读 48,346)
  2. 深入理解Javascript之执行上下文(Execution Context) (累计阅读 18,401)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,931)
  4. 图片动态局部毛玻璃模糊效果的实现 (累计阅读 14,845)
  5. 天朝第二代身份证号码的验证机制 (累计阅读 14,760)
  6. HTML 5 的data-* 自定义属性 (累计阅读 14,348)
  7. 分享一个JQUERY颜色选择插件 (累计阅读 14,222)
  8. 什么是全栈工程师? (累计阅读 14,035)
  9. 快速排序(Quicksort)的Javascript实现 (累计阅读 11,733)
  10. 7 天打造前端性能监控系统 (累计阅读 11,187)