javascript_面向对象系列_02用JS写一个类(ES3和ES6两种写法)

比如做HIS系统,有医生的角色(医生是一类人)

  • ES3的写法
//1)、定义类(型)
function Doctor(workid,name,sex,age,dept){
	 //有什么,属性(成员变量)
	 this.workid = workid;//this就是new出来的对象。
	 this.name = name;
	 this.sex = sex;
	 this.age = age;
	 this.dept = dept;
}

//能干什么,方法(函数)
Doctor.prototype.ability = function(){
	alert(this.name+"在坐诊");
}

//2)、定义对象(只要是用构造函数Doctor()new出来的都是Doctor类型),调用方法
var d1 = new Doctor("01001","张天喜","男",18,"骨科");
d1.ability();
  • ES6写法
ES6写法
//1)、定义类(型)
class Doctor{
       //构造函数
       constructor(workid,name,sex,age,dept){
		  //有什么,属性(成员变量)
		  this.workid = workid;//this就是new出来的对象。
		  this.name = name;
		  this.sex = sex;
		  this.age = age;
		  this.dept = dept;
       }
	   //能干什么,方法(函数)
       ability(){
			alert(this.name+"在坐诊");
       }
}

//2)、定义对象(只要是用构造函数Doctor()new出来的都是Doctor类型),调用方法
var d1 = new Doctor("01001","张天喜","男",18,"骨科");
d1.ability();

ES6的写法只是一个语法糖,调用是一模一样的。
即定义类的写法不同,但是定义对象,使用对象的写法是一样的。所以,ES6的写法和ES3的写法能够达到同样的效果,ES6只不过是在ES3的写法上加了一个好看(可阅读性好)的壳,ES6的写法最终通过预编译后,还是ES3的写法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值