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注入技巧
Jun 22 Javascript
新手常遇到的一些jquery问题整理
Aug 16 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
Aug 27 Javascript
js中巧用cssText属性批量操作样式
Mar 13 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
Mar 14 Javascript
Bootstrap精简教程
Nov 27 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
Dec 08 Javascript
jQuery实现下拉加载功能实例代码
Apr 01 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
Nov 06 Javascript
Vue循环组件加validate多表单验证的实例
Sep 18 Javascript
javascript function(函数类型)使用与注意事项小结
Jun 10 Javascript
详谈Object.defineProperty 及实现数据双向绑定
Jul 18 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
php实现jQuery扩展函数
2009/10/30 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
简单的分页代码js实现
2016/05/17 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
Django中间件工作流程及写法实例代码
2018/02/06 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
python线性插值解析
2020/07/05 Python
Python实现石头剪刀布游戏
2021/01/20 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
详解HTML5中的标签
2015/06/19 HTML / CSS
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
土建资料员岗位职责
2014/01/04 职场文书
物流创业计划书
2014/02/01 职场文书
房地产促销活动方案
2014/03/01 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
经典演讲稿开场白
2014/08/25 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
家长学校教学计划
2015/01/19 职场文书
昆虫记读书笔记
2015/06/26 职场文书
学雷锋活动简报
2015/07/20 职场文书