频道栏目
首页 > 程序开发 > web前端 > JavaScript > 正文
Javascript类的实现
2012-04-06 10:22:26           
收藏   我要投稿

近在几个群上经常看到有人问在一个类里的一个 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目的是为了开多一个私有的变量,把引用直接指向类的本身。 www.2cto.com 
刚刚还说到一个构造函数的问题,这可以直接用代码来实现。在函数的最后直接写执行代码就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了

 

摘自  心有余白
 
点击复制链接 与好友分享!回本站首页
相关TAG标签 Javascript类的实现
上一篇:Javascript静态类的实现
下一篇:JS验证控制输入中英文字节长度(input、textarea等)
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站