Javascript 类与静态类的实现


Posted in Javascript onApril 01, 2010

今天所要说的就是,如何在Javascript里写类与静态类,这是本人一惯用的方法,你也可以有更为方便的,也可以发发评论跟大家交流交流。
首先说说类,在一个类里我们会有以下的几个特征:
1. 公有方法
2. 私有方法
3. 属性
4. 私有变量
5. 析构函数
我们直接看一个例子:
类例子

/***定义类***/ 
var Class = function(){ 
var _self = this;//把本身引用负值到一变量上 
var _Field = "Test Field"; //私有字段 
var privateMethod = function(){ //私有方法 
alert(_self.Property); //调用属性 
} 
this.Property = "Test Property"; //公有属性 
this.Method = function(){ //公有方法 
alert(_Field); //调用私用字段 
privateMethod(); //调用私用方法 
} 
}

这里我已把注释都写上,大家大概也会一眼就看得明白。对于少写JS的朋友,可能会觉得奇怪为什么我会定义一个_self的变量, 因为在js里,this不用对于其他的对象语言,他的解析过程与运行过程中this会改变的。这里简单说说js里this的定义,若有需要我可以开多一篇。
定义:this是包含它的函数作为方法被调用时所属的对象。
特征:this的环境可以随着函数被赋值给不同的对象而改变!
有兴趣的朋友可以网上找找资料了解一下,说回正题,这里的_self目的是为了开多一个私有的变量,直接指向类的本身。
刚刚还说到一个析构函数的问题,这可以直接用代码来实现。在函数的最后直接写执行代码就OK。
代码
/***定义类***/ 
var Class = function(){ 
var _self = this;//把本身引用负值到一变量上 
var _Field = "Test Field"; //私有字段 
var privateMethod = function(){ //私有方法 
alert(_self.Property); //调用属性 
} 
this.Property = "Test Property"; //公有属性 
this.Method = function(){ //公有方法 
alert(_Field); //调用私用字段 
privateMethod(); //调用私用方法 
} 
/***析构函数***/ 
var init = function(){ 
privateMethod(); 
} 
init(); 
}

使用这个类,引用我同事的那句“简单得很!”
var c = new Class();
这样就OK
类的定义就说完了,静态类,要等到下一次了。因为有MM叫我去喝茶
一个人能够走多远,取决于与谁同行
Javascript 相关文章推荐
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
Jan 25 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
May 27 Javascript
js open() 与showModalDialog()方法使用介绍
Sep 10 Javascript
表单元素与非表单元素刷新区别详细解析
Nov 06 Javascript
js使用eval解析json(js中使用json)
Jan 17 Javascript
node.js中的fs.futimes方法使用说明
Dec 17 Javascript
JavaScript 七大技巧(一)
Dec 13 Javascript
微信小程序 获取设备信息 API实例详解
Oct 02 Javascript
详解基于webpack和vue.js搭建开发环境
Apr 05 Javascript
详解vue高级特性
Jun 09 Javascript
vue中用 async/await 来处理异步操作
Jul 18 Javascript
Axios代理配置及封装响应拦截处理方式
Apr 07 Vue.js
多浏览器支持的右下角浮动窗口
Apr 01 #Javascript
js 多浏览器分别判断代码
Apr 01 #Javascript
JS 遮照层实现代码
Mar 31 #Javascript
js压缩工具 yuicompressor 使用教程
Mar 31 #Javascript
jQuery 遍历json数组的实现代码
Sep 22 #Javascript
Javascript load Page,load css,load js实现代码
Mar 31 #Javascript
Javascript Jquery 遍历Json的实现代码
Mar 31 #Javascript
You might like
php define的第二个参数使用方法
2013/11/04 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
javascript 解析后的xml对象的读取方法细解
2009/07/25 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
js中this的用法实例分析
2015/01/10 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
python实现排序算法
2014/02/14 Python
python实现linux下使用xcopy的方法
2015/06/28 Python
详解Python的Django框架中的中间件
2015/07/24 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
简单了解OpenCV是个什么东西
2017/11/10 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
企业领导对照检查材料
2014/08/20 职场文书
2014年电厂工作总结
2014/12/04 职场文书
小学生作文评语集锦
2014/12/25 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android