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 相关文章推荐
动态加载js的几种方法
Oct 23 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
Mar 15 Javascript
JQuery入门—编写一个简单的JQuery应用案例
Jan 03 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
Sep 27 Javascript
详解Angular.js的$q.defer()服务异步处理
Nov 06 Javascript
require、backbone等重构手机图片查看器
Nov 17 Javascript
vue2.0 实现页面导航提示引导的方法
Mar 13 Javascript
JavaScript设计模式之享元模式实例详解
Jan 17 Javascript
详解es6新增数组方法简便了哪些操作
May 09 Javascript
Javascript基于OOP实实现探测器功能代码实例
Aug 26 Javascript
详解VUE中的插值( Interpolation)语法
Oct 18 Javascript
深入了解Vue动态组件和异步组件
Jan 26 Vue.js
用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
php下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
PHP MemCached 高级缓存应用代码
2010/08/05 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
php实现的操作excel类详解
2016/01/15 PHP
thinkPHP中volist标签用法示例
2016/12/06 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
jquery tools系列 expose 学习
2009/09/06 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
JS返回只包含数字类型的数组实例分析
2016/12/16 Javascript
vue-router单页面路由
2017/06/17 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
Vue自定义多选组件使用详解
2020/09/08 Javascript
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
实践Vim配置python开发环境
2018/07/02 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
Python全栈之列表数据类型详解
2019/10/01 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
风险评估实施方案
2014/03/09 职场文书
平安建设汇报材料
2014/12/29 职场文书
教师个人培训总结
2015/02/11 职场文书
应届毕业生求职信范文
2015/03/19 职场文书
特此通知格式
2015/04/27 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
赡养老人协议书范本
2015/08/06 职场文书
四年级语文教学反思
2016/03/03 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书
解析MySQL binlog
2021/06/11 MySQL
Windows server 2016服务器基本设置
2022/08/14 Servers