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实现仿Windows关机效果
Mar 10 Javascript
javascript 日期时间函数(经典+完善+实用)
May 27 Javascript
js getBoundingClientRect() 来获取页面元素的位置
Nov 25 Javascript
当前流行的JavaScript代码风格指南
Sep 10 Javascript
深入理解Node.js 事件循环和回调函数
Nov 02 Javascript
js实现百度搜索提示框
Feb 05 Javascript
无法获取隐藏元素宽度和高度的解决方案
Mar 07 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
Nov 02 Javascript
webpack项目轻松混用css module的方法
Jun 12 Javascript
vue中的数据绑定原理的实现
Jul 02 Javascript
在微信小程序中使用vant的方法
Jun 07 Javascript
Javascript Symbol原理及使用方法解析
Oct 22 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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
一篇不错的PHP基础学习笔记
2007/03/18 PHP
php画图实例
2014/11/05 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
自制PHP框架之设计模式
2017/05/07 PHP
初步使用bootstrap快速创建页面
2016/03/03 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
2016/07/12 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
JavaScript实现短信倒计时60s
2017/10/09 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
[01:28:43]2014 DOTA2华西杯精英邀请赛5 24 DK VS CIS
2014/05/25 DOTA
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
详解Django框架中用context来解析模板的方法
2015/07/20 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
python 图像增强算法实现详解
2021/01/24 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
给老婆大人的检讨书
2014/02/24 职场文书
党支部承诺书范文
2014/03/28 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
新农村建设汇报材料
2014/08/15 职场文书
节约用电倡议书
2015/04/28 职场文书
军事博物馆观后感
2015/06/05 职场文书
学习十八大的感悟
2015/08/11 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python