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


Posted in Javascript onApril 02, 2010

这次我们直接看例子:

/***定义静态类***/ 
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();

一个人能够走多远,取决于与谁同行
Javascript 相关文章推荐
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
Dec 28 Javascript
VBS通过WMI监视注册表变动的代码
Oct 27 Javascript
extjs3 combobox取value和text案例详解
Feb 06 Javascript
解决IE6的PNG透明JS插件使用介绍
Apr 17 Javascript
JavaScript模块随意拖动示例代码
May 27 Javascript
浅谈类似于(function(){}).call()的js语句
Mar 30 Javascript
JavaScript AOP编程实例
Jun 16 Javascript
利用css+原生js制作简单的钟表
Apr 07 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
Aug 05 Javascript
详解Node.js实现301、302重定向服务
Apr 07 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
小程序input数据双向绑定实现方法
Oct 17 Javascript
用js实现计算加载页面所用的时间
Apr 02 #Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
Apr 02 #Javascript
ExtJS Ext.MessageBox.alert()弹出对话框详解
Apr 02 #Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
Apr 02 #Javascript
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
Apr 02 #Javascript
js 刷新页面的代码小结 推荐
Apr 02 #Javascript
JQuery 插件制作实践 xMarquee插件V1.0
Apr 02 #Javascript
You might like
星际原理概述
2020/03/04 星际争霸
PHP 图片文件上传实现代码
2010/12/29 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
RequireJS 依赖关系的实例(推荐)
2017/01/21 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
详解Vue 动态组件与全局事件绑定总结
2018/11/11 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
Python实现partial改变方法默认参数
2014/08/18 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
Python数据可视化之画图
2019/01/15 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
实习生自我评价
2014/01/18 职场文书
幼儿发展评估方案
2014/06/11 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫