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的原理和实现技巧介绍
Nov 08 Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 Javascript
JavaScript中window.showModalDialog()用法详解
Dec 18 Javascript
EasyUi datagrid 实现表格分页
Feb 10 Javascript
jquery插件validation实现验证身份证号等
Jun 04 Javascript
vue-cli中打包图片路径错误的解决方法
Oct 26 Javascript
JS异步函数队列功能实例分析
Nov 28 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
May 16 Javascript
微信小程序通过保存图片分享到朋友圈功能
May 24 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
Jul 19 Javascript
javascript匿名函数中的'return function()'作用
Oct 15 Javascript
jquery实现鼠标悬浮弹出气泡提示框
Dec 23 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
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
tab栏切换原理
2017/03/22 Javascript
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
Python中字典的基本知识初步介绍
2015/05/21 Python
jupyter安装小结
2016/03/13 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
PHP如何自定义函数
2016/09/16 面试题
C#怎么让一个窗口居中显示?
2015/10/20 面试题
个人自我评价范文
2014/02/05 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
工作简历自我评价
2015/03/11 职场文书
会计稽核岗位职责
2015/04/13 职场文书
2016年教师节慰问信
2015/12/01 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP