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 相关文章推荐
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
May 15 Javascript
js移除事件 js绑定事件实例应用
Nov 28 Javascript
Js 获取Gridview选中行的内容操作步骤
Feb 05 Javascript
jQuery编程中的一些核心方法简介
Aug 14 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
Aug 31 Javascript
Javascript技术栈中的四种依赖注入小结
Feb 27 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
Dec 27 Javascript
node.js连接MongoDB数据库的2种方法教程
May 17 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
Jul 03 Javascript
详解vue中移动端自适应方案
May 05 Javascript
JS如何实现动态添加的元素绑定事件
Nov 12 Javascript
js实现消灭星星(web简易版)
Mar 24 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写的基于Memcache的Queue实现代码
2011/11/27 PHP
用PHP读取超大文件的实例代码
2012/04/01 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
js 调整select 位置的函数
2008/02/21 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
简单的Python的curses库使用教程
2015/04/11 Python
python实现在控制台输入密码不显示的方法
2015/07/02 Python
python开发中range()函数用法实例分析
2015/11/12 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
MIS软件工程师的面试题
2016/04/22 面试题
百度JavaScript笔试题
2015/01/15 面试题
施工资料员的岗位职责
2013/12/22 职场文书
应聘教师自荐书
2014/06/16 职场文书
新手上路标语
2014/06/20 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书
JVM之方法返回地址详解
2022/02/28 Java/Android