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 相关文章推荐
利用JQuery动画制作滑动菜单项效果实现步骤及代码
Feb 07 Javascript
javascript时间函数基础介绍
Mar 28 Javascript
JavaScript通过字符串调用函数的实现方法
Mar 18 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
Jun 05 Javascript
微信小程序的生命周期的详解
Oct 19 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
Jan 24 Javascript
Vue一个案例引发的递归组件的使用详解
Nov 15 Javascript
一些你可能不熟悉的JS知识点总结
Mar 15 Javascript
layer设置maxWidth及maxHeight解决方案
Jul 26 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
Jul 24 Javascript
Postman如何实现参数化执行及断言处理
Jul 28 Javascript
vue判断按钮是否可以点击
Apr 09 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
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
2011/01/07 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php实现在限定区域里自动调整字体大小的类实例
2015/04/02 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
window.name代替cookie的实现代码
2010/11/28 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
javascript异常处理实现原理详解
2020/02/17 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
Python日志模块logging简介
2015/04/13 Python
在Python中使用SQLite的简单教程
2015/04/29 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
英国在线药房:Express Chemist
2019/03/28 全球购物
内科护士实习自我鉴定
2013/10/17 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
高一化学教学反思
2016/02/22 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书