js介绍⾃⼰的例⼦
js并不是真正⾯向对象的语⾔,但是我们通过⼀些⽅法也是可以实现js的⼀些⾯向对象设计的。常见的构造函数有很多模式有构造函数模式,原型链,⼯⼚模式等等。但就是因为,我初学者看起来⾮常吃⼒,理解起来都是很困难,在此推荐⼀种⽐较常见的模式--组合模式://定义⼀个person类
function person(name,age,job){
//js⾥⽆论什么类型都是function
this.name=name;//定义变量每个实例单独存在的
this.age=age;
this.job=job;
js原型和原型链的理解}
person.prototype={
//公共⽅法(引⽤的是同⼀个地址,所有通过prototype引⽤的类型也被称为原型⽅法,是每个实例都会存
在的⽅法)
constructor:person,
sayName:function(){alert(this.name)}
};
var person1=new person("⼩任",23,"web前端⼯程师");
var person2=new person("乐乐",26,"硬件⼯程师");
alert(person1.sayName()+"and"+person2.sayName());//⼩任and乐乐
解释:在以上代码中person.prototype={}(在这⾥person.prototype={}是被重写掉的。需要重新指定⼀下他的构造函数,不然在默认的情况下person.prototype是⾃⼰制定person的。当然如果嫌弃⿇烦的话可以直接定义:person.prototype.sayName=function(){alert(this.name)});