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的面向对象方法以及差别
Mar 31 Javascript
关于JavaScript的一些看法
May 27 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
Nov 28 Javascript
js为数字添加逗号并格式化数字的代码
Aug 23 Javascript
JS对文本框值的判断示例
Mar 10 Javascript
使用Javascript实现选择下拉菜单互移并排序
Feb 23 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
Jun 23 Javascript
深入浅析search 搜索框的写法
Aug 02 Javascript
详解vue.js移动端配置flexible.js及注意事项
Apr 10 Javascript
JS实现倒序输出的几种常用方法示例
Apr 13 Javascript
微信小程序 下拉刷新及上拉加载原理解析
Nov 06 Javascript
vue-router中hash模式与history模式的区别
Jun 23 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
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
Prototype 学习 Prototype对象
2009/07/12 Javascript
js写的评论分页(还不错)
2013/12/23 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
python将人民币转换大写的脚本代码
2013/02/10 Python
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
python计算圆周率pi的方法
2015/07/11 Python
Python操作Excel之xlsx文件
2017/03/24 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Python实现网站表单提交和模板
2019/01/15 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
python 实现绘制整齐的表格
2019/11/18 Python
Python callable内置函数原理解析
2020/03/05 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
计算机操作自荐信
2013/12/07 职场文书
年会活动策划方案
2014/01/23 职场文书
七夕活动策划方案
2014/08/16 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书