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拖拽的效果类和dom-drag.js浅析
Jul 17 Javascript
jquery实现树形菜单完整代码
Dec 29 Javascript
jquery validate表单验证的基本用法入门
Jan 18 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
Oct 14 Javascript
JavaScript实现多栏目切换效果
Dec 12 Javascript
微信小程序 POST请求的实例详解
Sep 29 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
Aug 13 Javascript
原生JS与JQ获取元素的区别详解
Feb 13 Javascript
JavaScript enum枚举类型定义及使用方法
May 15 Javascript
javascript前端和后台进行数据交互方法示例
Aug 07 Javascript
jQuery zTree如何改变指定节点文本样式
Oct 16 jQuery
用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递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
用POSTMAN发送JSON格式的POST请求示例
2018/09/04 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
2020/06/26 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
Python基于locals返回作用域字典
2020/10/17 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
美国知名生活购物网站:Goop
2017/11/03 全球购物
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
大学毕业生简单自荐信
2013/11/05 职场文书
就业自荐书
2013/12/05 职场文书
料理师求职信
2014/01/30 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
留学生求职信
2014/06/03 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server