JavaScript的继承

很多时候,大家都认为JavaScript是面向对象的编程语言,的确是,但是和Java,C++等的编程语言右不相同的OO做法。
JavaScript 原型一文中已经说明了JavaScript的原型原理。
JavaScript里面的OO大部分是基于原型来实现的。

上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function Cat() {
this.name = 'Tom';
this.sex = 'male';
}
Cat.prototype = { className: 'cat' };
function WhiteCat() {
this.color = 'white';
}
WhiteCat.prototype = new Cat();
var cat = new Cat();
var whiteCat = new WhiteCat();
console.log(cat.name);
console.log(cat.sex);
console.log(cat.className);
console.log(whiteCat.name);
console.log(whiteCat.sex);
console.log(whiteCat.className);
console.log(whiteCat.color);

通过原型链,实现对象与对象之间的信息共享,继而实现了继承。这是一种简洁,灵活的方案,下面我们具体看下在实际开发过程中如何运用。