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

JavaScript创建类
目前比较常用的创建js类的方式是混合的构造函数/原型方式。下面我们来写一个简单的例子:
function Person(name, age, email){
	this.name = name;
	this.age = age;
	this._email = email;
}

function _Person_show_me(){
	alert('我叫' + this.name + ',我' + this.age + '岁了,我的email是' + this._email);
}

Person.prototype.show_me = _Person_show_me;

var he = new Person('小何', 28, 'baijun.he@163.com');
he.show_me();

  1. this的作用就是指向调用该方法的对象,比如这个例子,当调用new Person的时候,this就表示he这个对象,调用this.name 就等于 he.name。
  2. email前面为什么要使用一个下划线呢?因为js只有公共作用域,没有私用的属性和方法,所以开发者为了做区别,就用一个下划线表示这个属性或者方法是私有的,当然,本质上它很是公共的。有时候也这样写:_name_,看个人习惯啦。
  3. _Person_show_me中的第一个_下划线表示这个是私有方法,我们习惯在方法前加上类名区分这个方法是那个类的,所以第一单词是表示类名。当然你也可以写成其他的。
  4. 我们把方法 _Person_show_me赋给 Person的prototype属性,这样就可以使用能用 instanceof 运算符检查给定变量指向的对象的类型。
1楼lmdcszh46分钟前
把方法 _Person_show_me赋给 Person的prototype属性,这样就可以使用能用 instanceof 运算符检查给定变量指向的对象的类型。学习了,谢谢……
Re: lixiang052243分钟前
回复lmdcszh我也在学习,呵呵