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 photoFrame 图片边框美化显示插件
Jun 28 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
Sep 17 Javascript
jquery命令汇总,方便使用jquery的朋友
Jun 26 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
Sep 04 Javascript
jquery实现textarea 高度自适应
Mar 11 Javascript
ajax在兼容模式下失效的快速解决方法
Mar 22 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
Sep 14 Javascript
JS实现拖动滚动条评分的效果代码分享
Sep 29 Javascript
JavaScript 自定义事件之我见
Sep 25 Javascript
vue组件生命周期详解
Nov 07 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
Feb 10 Javascript
单线程JavaScript实现异步过程详解
May 19 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开发入门教程之面向对象
2006/12/05 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP Include文件实例讲解
2019/02/15 PHP
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
JS中操作JSON总结
2020/12/06 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
Js apply方法详解
2017/02/16 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
Python虚拟环境项目实例
2017/11/20 Python
python实现SOM算法
2018/02/23 Python
python实现多人聊天室
2020/03/31 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
python同步windows和linux文件
2019/08/29 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
基于python实现操作redis及消息队列
2020/08/27 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
外企C语言笔试题
2013/11/10 面试题
春节联欢晚会主持词
2014/03/24 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
工程进度款催款函
2015/06/24 职场文书
团委副书记工作总结
2015/08/14 职场文书
2016猴年春节慰问信
2015/11/30 职场文书
php 原生分页
2021/04/01 PHP
Flask搭建一个API服务器的步骤
2021/05/28 Python
使用GO语言实现Mysql数据库CURD的简单示例
2021/08/07 Golang