对于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方法
与原型链的区别就是:原型链是顺着链进行查找这个方法,而对象冒充是拥有了这个方法
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。