JS继承一个类

1,使用一个中间类实现猫继承动物

 var Animate=function(){
     this.name="动物"
 }
Animate.prototype.say=function(){
    console.log("喵")
}

var Cat=function(){
   Animate.apply(this,arguments)
}
//使用一个临时的类,使这个类prototype指向Animate的prototype
function foo(){}
foo.prototype=Animate.prototype
//Cat继承这个foo类
Cat.prototype=new foo()
Cat.prototype.constructor=Cat
var cat=new Cat()

打印出来:

图片.png

2,不使用类也能实现继承(对象之间的继承)

function extend(parent){
   var empty=function(){}
   empty.prototype=parent
  return empty
}
var Animate={
  name:"动物",
  say:function(){
  console.log("动物叫")
  }
}
var cat=new extend(Animate)
cat.say=function(){
console.log("喵喵喵")
}

3,IE不支持的写法

 var Animate={
    name:"动物",
    say:function(){
    console.log("动物叫")
  }
}
var cat=Object.create(Animate.prototype)
cat.say=function(){
    console.log("喵喵喵")
}

打印结果:

图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,955评论 25 709
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 在开始讲述小黑人攒肚过程之前先po一下关于攒肚的定义、现象以及与便秘的区别。 以下资料是我从网上查找的,供大家参考...
    未羊人阅读 3,207评论 0 1
  • 很久很久已前,有一个傻子,有一天他老婆叫他上街去卖白布,他的老婆对他说,耳朵硬点的可以先给他们。(缙云土话,意思是...
    丁旺新阅读 3,738评论 0 0
  • 每次跑一千米仿佛就要死了一样 不知道别人的10千米是怎么跑出来的 加油 下次挑战两千米
    小仙女就是我阅读 937评论 0 0

友情链接更多精彩内容