Javascript 类的实现
来源:互联网 发布:iphone手机倒计时软件 编辑:程序博客网 时间:2024/05/21 17:01
最近在几个群上经常看到有人问在一个类里的一个 function 怎么调用 this. 定义后公开的方法。现发一篇类实现的随笔。
首先说说类,在一个类里我们会有以下的几个特征:
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();
c.Method(); //使用方法
这样就OK了
0 0
- javascript类的实现
- javascript类的实现
- javascript 类的实现
- Javascript 类的实现
- javascript (类的实现)
- Javascript 类的实现
- JavaScript中类的实现
- JavaScript中类的实现
- JavaScript中类的实现
- 理解javascript类的实现
- JavaScript实现类的继承
- Javascript 静态类的实现
- JavaScript实现类的继承
- javascript实现的棋牌类
- JavaScript中类的实现
- Javascript 静态类的实现
- javascript类工厂的实现!
- JavaScript实现类的模拟
- Scala学习
- Adaboost
- 【Scala】Scala的类层级
- proftpd的mod_copy模块未授权调用利用记录
- 关于ffmpeg的avpacket里的pts问题
- Javascript 类的实现
- Flatten Binary Tree to Linked List - LeetCode 114
- ado.net连接oracle
- 【Scala】特质与特质的线性化
- 记录开始
- QCombobox组合框的样式
- Macbook下Android studio删除project的方法
- 利用指针实现10个数组元素逆序交换
- 优先队列