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 相关文章推荐
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
Jan 09 Javascript
javascript中的onkeyup和onkeydown区别介绍
Apr 28 Javascript
PHP 数组current和next用法分享
Mar 05 Javascript
每天一篇javascript学习小结(面向对象编程)
Nov 20 Javascript
微信小程序 WebSocket详解及应用
Jan 21 Javascript
JSONP基础知识详解
Mar 19 Javascript
详解如何在项目中使用jest测试react native组件
Feb 09 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
Sep 07 Javascript
解决vue打包后vendor.js文件过大问题
Jul 03 Javascript
vue实现数据控制视图的原理解析
Jan 07 Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 Javascript
在elementui中Notification组件添加点击事件实例
Nov 11 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
flash用php连接数据库的代码
2011/04/21 PHP
MySQL连接数超过限制的解决方法
2011/07/17 PHP
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
JavaScript 事件的一些重要说明
2009/10/25 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
Python re模块介绍
2014/11/30 Python
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Python基于Socket实现的简单聊天程序示例
2017/08/05 Python
Python自定义线程类简单示例
2018/03/23 Python
查看Django和flask版本的方法
2018/05/14 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
对python sklearn one-hot编码详解
2018/07/10 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
python numpy 按行归一化的实例
2019/01/21 Python
python openpyxl使用方法详解
2019/07/18 Python
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
中职生自我鉴定范文
2013/10/03 职场文书
xxx同志考察材料
2014/02/07 职场文书
公司授权委托书范本
2014/04/03 职场文书
宇宙与人观后感
2015/06/05 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书