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 相关文章推荐
ExtJS Store的数据访问与更新问题
Apr 28 Javascript
js操作select控件的几种方法
Jun 02 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
Aug 15 Javascript
jQuery UI插件自定义confirm确认框的方法
Mar 20 Javascript
原生JavaScript实现瀑布流布局
Jun 28 Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
JavaScript 判断对象中是否有某属性的常用方法
Jun 14 Javascript
php中and 和 &&出坑指南
Jul 13 Javascript
JavaScript实现数组全排列、去重及求最大值算法示例
Jul 30 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
Aug 31 Javascript
JS实现手风琴特效
Nov 08 Javascript
JavaScript展开运算符和剩余运算符的区别详解
Feb 18 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
提问的智慧(2)
2006/10/09 PHP
php将数据库导出成excel的方法
2010/05/07 PHP
浅析PHP中strlen和mb_strlen的区别
2014/08/31 PHP
php取出数组单个值的方法
2018/03/12 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
JS库之ParticlesJS使用简介
2017/09/12 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
javascript实现点击产生随机图形
2021/01/25 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
小结Python用fork来创建子进程注意事项
2014/07/03 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
python对视频画框标记后保存的方法
2018/12/07 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
入党申请自荐书范文
2014/02/11 职场文书
教师党员先进性教育自我剖析材料思想汇报
2014/09/24 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
Go微服务项目配置文件的定义和读取示例详解
2022/06/21 Golang