今天继续看了基于mvc模式javascript富应用的开发,昨天学到了给类添加方法,今天研究了一下类的继承,仿照书上自己写了个小例子
var Person = function(name,sex,born){
this.name = name;
this.sex = sex;
this.born = born;
}
Person.prototype.location = 'beijing';
var Student = function(){
this.task = 'study';
}
Student.prototype = new Person();
var s = new Student('lile','nan','1989');
console.log(s);
标红的部分为js类继承的方式之一,将父类的实例作为子类的原型的对象,这样子类就具有了父类的方法和属性,实际输出的结果如下
Student {task: "study", name: undefined, sex: undefined, born: undefined, location: "beijing"}
所有子类继承父类原有的属性值为undefine,而原型中的值被继承了,这种方式继承了父类中私有的属性,但没有属性值,原型中的被全部继承,跟想象的不太一样,js的原型还是蛮有意思的,个人理解原型也是某种方式的继承,具体有待研究