Javascript 类与静态类的实现1

15 篇文章 0 订阅

首先说说类,在一个类里我们会有以下的几个特征:
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值