日期:2014-05-16  浏览次数:20387 次

Javascript面向对象之:一.创建类

Javascript语言到目前为止,本身并没有提供类似于class这样的关键字来创建一个类.所以可以认为Javascript本身并不是完全意义上的面向对象的语言.但是Javascript中明明就是有对象的.再加上语言本身的一些特性,我们可以模拟出类,使得Javascript也变成面向对象的.

/**
 * 这是一个构造函数,是这个类的开始,当new这个类的对象时被调用
 */
function User(userName) {
	// name是类的成员变量
	this.name = userName
}

/**
 * 这个是类属性,相当于Java中的static属性
 */
User.prop = 'person';

/**
 * 这个是实例方法,需要通过对象来访问的
 */
User.prototype.getName = function() {
	return this.name
}

/**
 * 这个是类方法,通过类名访问的,相当于static的啦
 */
User.getProp = function() {
	return User.prop;
}

?

上面的代码就完成了一个最简单的类的定义.其中包括了类的成员变量,成员方法,以及类变量和类方法.

下面看一下如何用这个类:

// 创建对象
var user = new User('admin');
// 调用对象的方法
user.getName();
// 调用类方法
User.getProp();
?

?