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实现在Repeater控件中创建可隐藏区域的代码
Sep 16 Javascript
jQuery 版元素拖拽原型代码
Apr 25 Javascript
js动画效果制件让图片组成动画代码分享
Jan 14 Javascript
JavaScript九九乘法口诀表的简单实现
Oct 04 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
weUI应用之JS常用信息提示弹层的封装
Nov 21 Javascript
vue时间格式化实例代码
Jun 13 Javascript
angular实现input输入监听的示例
Aug 31 Javascript
微信小程序实现两个页面传值的方法分析
Dec 11 Javascript
js实现通过开始结束控制的计时器
Feb 25 Javascript
js实现固定区域内的不重叠随机圆
Oct 24 Javascript
pnpm对npm及yarn降维打击详解
Aug 05 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格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
2014/07/18 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
NodeJS连接MongoDB数据库时报错的快速解决方法
2016/05/13 NodeJs
jQuery实现摸拟alert提示框
2016/05/22 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
Python字符串的全排列算法实例详解
2019/01/07 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
python实现猜数字游戏
2020/03/25 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
美国时尚女装在线:Missguided
2016/12/03 全球购物
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
《三袋麦子》教学反思
2014/03/02 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
Django与数据库交互的实现
2021/06/03 Python
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB