JavaScript继承

JavaScript是一门基于原型的语言,这意味着对象直接从其他对象继承。

JavaScript的原型存在着诸多矛盾。某些看起来有点像基于类的语言的复杂语法问题屏蔽了它的原型机制。它不让对象直接从其他对象继承,反而插入了一个多余的间接层,从而

使构造器函数产生对象。

var Mammal = function (name) {
              this.name = name;
 };
Mammal.prototype.get_name = function() {
             return this.name;
};
Mammal.prototype.says = function() {
             return this.saying || ' ';
};

我们可以构造另一个伪类继承Mammal,这是通过定义它的constructor函数并替换它的prototype为一个Mammal的实例来实现的

var Cat = function (name) {
   this.name = name;
   this.saying = 'meow';
};
Cat.prototype = new Mammal ();

Cat.prototype.get_name = function () {
           return this.says() + ' ' +this.name + ' '+this.says();
};

 

posted @ 2015-05-31 17:04  debug8man  阅读(106)  评论(0编辑  收藏  举报