对于js原型和原型链继承的简单理解(第二种,对象冒充)

关键代码    this.parent = Cat;    this.parent.apply(this);

 1              function Cat(){
 2                  this.climb = function(){
 3                      alert("我会爬树");
 4                  }
 5              }
 6              var cat  = new Cat();
 7              cat.climb();
 8              
 9              function Dog(){
10                  this.parent = Cat;
11                  this.parent.apply(this);//当然也可以传参,
12                  this.eat = function(){
13                      alert("我会吃");
14                  }
15              }
16              var dog = new Dog();
17              console.log(dog)
18              dog.climb();

会输出两个我会爬树,这应该就是所谓的对象冒充吧,Dog通过parent切切实实的拥有了爬树的climb方法

与原型链的区别就是:原型链是顺着链进行查找这个方法,而对象冒充是拥有了这个方法

原文地址:https://www.cnblogs.com/jianjianwoshi/p/4369819.html