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 相关文章推荐
javascript 清除输入框中的数据
Apr 13 Javascript
jquery 仿QQ校友的DIV模拟窗口效果源码
Mar 24 Javascript
js读取本地excel文档数据的代码
Nov 11 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
Aug 22 Javascript
JS中FRAME的操作问题实例分析
Oct 21 Javascript
深入分析js的冒泡事件
Dec 05 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
Mar 04 Javascript
jQuery实现键盘回车搜索功能
Jul 25 jQuery
原生JS实现$.param() 函数的方法
Aug 10 Javascript
微信小程序分包加载代码实现方法详解
Sep 23 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
Apr 11 Javascript
手写实现JS中的new
Nov 07 Javascript
多浏览器支持的右下角浮动窗口
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 Sql Server连接失败问题及解决办法
2009/08/07 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
XML的代替者----JSON
2007/07/21 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
浅析vue深复制
2018/01/29 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python 处理数据的实例详解
2017/08/10 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
浅析Python中字符串的intern机制
2020/10/03 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
自荐书模板
2013/12/15 职场文书
中国文明网签名寄语
2014/01/18 职场文书
护士见习期自我鉴定
2014/02/08 职场文书
小摄影师教学反思
2014/04/27 职场文书
中学生清明节演讲稿
2015/03/18 职场文书