js继承 你的名字 2022-05-11 01:04 229阅读 0赞 ## ## ### 构造函数的原型继承 ### function qq(name,age) { this.name = name this.age = age } qq.prototype.eat = function () { console.log(this.name + '吃饭了') } var f1 = new qq('熊熊',19) function son(){ } son.prototype = f1 var aa = new son() aa.eat() 注意: 当 son.prototype 指向 f1 时,它就已经是当爸爸的son了; aa.eat() ; aa 中没有这此方法,该方法在父亲son原型中,当aa访问时,先在aa本身下查找,若没有则向它指向的原型中去查找该方法,若还是没有,则继续往上面的原型找。这样就形成了一条原型链。 ### 通过原型链继承。 ### 简写: var f1 = new qq var son.prototype = f1 // 直接简写成: var son.prototype = new qq() ### 原型式继承 ### 这种继承借助原型并基于已有的对象创建新对象, 同时还不必因此创建自定义类型 function obj(o) { function F() {} F.prototype = o; return new F(); } var box = { name:'熊熊', arr:["哥哥","妹妹","姐姐"] } var box1 = obj(box); console.log(box1.name) box1.name = '露露' console.log(box1.name) console.log(box1.arr) box1.arr.push('父母') console.log(box1.arr) var box2 = obj(box); console.log(box2.name) console.log(box2.arr) //引用类型共享了 ### 组合继承 ### // 组合继承的优点在于属性和方法都可以继承 // 组合继承 = 原型继承 + 构造函数继承 function Supertype(name){ this.name = name this.colors = ["red","orange","yellow"] } Supertype.prototype.Sayname = function(){ console.log(this.name) } function Subtype(name,age){ Supertype.call(this,name); this.age = age; } Subtype.prototype = new Supertype(); Subtype.prototype.constructor = Subtype; Subtype.prototype.sayage = function(){ console.log(this.age) } var instance = new Subtype("熊熊",19); instance.colors.push("green") console.log(instance.colors) instance.Sayname() instance.sayage() ### 寄生组合继承 ### 未完待续。。
相关 js继承 js继承的几种方式 1原型链继承 原型链继承是比较常见的继承方式之一,其中涉及的构造函数、原型和实例,三者之间存在着一定的关系,即每一个构造函数都有一个原型对象,原 素颜马尾好姑娘i/ 2023年01月09日 12:42/ 0 赞/ 16 阅读
相关 JS继承 1.原型链继承 2.借用构造函数继承(经典继承) 3.组合继承 4.原型式继承 5.寄生式继承 6.寄生组合式继承 既然要实现继承,那么首先我们得有一个父 ゞ 浴缸里的玫瑰/ 2022年12月05日 00:50/ 0 赞/ 186 阅读
相关 js 继承 $(document).ready(initPage); function initPage() { extend(C - 日理万妓/ 2022年07月21日 02:20/ 0 赞/ 207 阅读
相关 js--继承 每个类有3部分, 第一部分是构造函数内的,供实例化对象复制用的 第二部分是构造函数外的,直接通过点语法添加,这是供类使用的,实例化对象访问不到 第三部分是类的原型中 ╰半夏微凉°/ 2022年07月11日 01:47/ 0 赞/ 210 阅读
相关 js继承 1、prototype方式 var BaseClass = function () \{ this.name = "3zfp"; ゞ 浴缸里的玫瑰/ 2022年06月09日 04:08/ 0 赞/ 189 阅读
相关 js继承:一网打尽js继承 转载:原地址:[https://mp.weixin.qq.com/s/NkxW367Znl5Hb47\_vv8Eeg][https_mp.weixin.qq.com_s_Nkx 刺骨的言语ヽ痛彻心扉/ 2022年03月12日 07:24/ 0 赞/ 268 阅读
相关 js继承 var animal=function(name){ //构造函数 this.name=name; this.sayhe 拼搏现实的明天。/ 2021年12月22日 02:43/ 0 赞/ 282 阅读
相关 js-----继承 1:创建的三种方式 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub 曾经终败给现在/ 2021年09月20日 06:56/ 0 赞/ 377 阅读
相关 js继承 为何要继承 希望子类对象拥有父类的属性和方法 构造函数的继承 call写在子类构造函数中,将父构造函数中this指向由window指向子对象,并且执行父构造函数中 傷城~/ 2021年09月03日 06:53/ 0 赞/ 426 阅读
还没有评论,来说两句吧...