您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

js继承之js原型和原型链的详细介绍

2024/3/25 22:09:15发布13次查看
本篇文章给大家分享的内容是关于js原型和原型链的详细介绍,接下我们就来具体看看js原型继承和js原型链继承的内容,希望可以帮助到大家。
js原型链
所谓言行链就是如果构造函数或对象a,a的原型指向构造函数或对象b,b的原型再指向构造函数或对象c,以此类推,最终的构造函数或对象的原乡指向object的原型.由此形成一条链状结构,被称之为原型链
js原型链示例代码:
// 原型链function a(){    this.a = 'a';}// 通过构造函数创建对象var a = new a();function b(){    this.b = 'b';}// 将b的原型指向对象ab.prototype = a;// 通过构造函数创建对象var b = new b();console.log(b.b);// bconsole.log(b.a);// afunction c(){    this.c = 'c';}// 将c的原型指向对象bc.prototype = b;// 通过构造函数创建对象var c = new c();console.log(c.c);// cconsole.log(c.b);// bconsole.log(c.a);// a
js原型链代码分析图:
只继承于原型
示例代码:
// 原型链function a(){    // 将自有属性改写为原型属性    // this.a = 'a';}a.prototype.a = 'a';function b(){    // this.b = 'b';}// 将b的原型指向b.prototype = a.prototype;b.prototype.b = 'b';/*b.prototype = {    b : 'b'}*/function c(){    this.c = 'c';}// 将c的原型指向c.prototype = b.prototype;var c = new c();console.log(c.c);// cconsole.log(c.b);console.log(c.a);// a
js原型链继承实现的问题
1、原型链实际上是在多个构造函数或对象之间共享属性和方法
2、常见子类的对象时,不能像父级的构造函数传递任何参数
注意: 在实际开发中很少会单独使用原型链
示例代码:
// 原型链function a(){    // 将自有属性改写为原型属性    // this.a = 'a';}a.prototype.a = 'a';function b(){    // this.b = 'b';}// 将b的原型指向b.prototype = a.prototype;b.prototype.b = 'b';function c(){    // this.c = 'c';}// 将c的原型指向c.prototype = b.prototype;c.prototype.c = 'c';var c = new c();console.log(c.c);// 调用结果为 cconsole.log(c.b);// 调用结果为 bconsole.log(c.a);// 调用结果为 avar a = new a();console.log(a.a);// 调用结果为 aconsole.log(a.b);// 调用结果为 bconsole.log(a.c);// 调用结果为 cvar b = new b();console.log(b.a);// 调用结果为 aconsole.log(b.b);// 调用结果为 bconsole.log(b.c);// 调用结果为 c
相关推荐:
js原型和原型链详解
js核心系列:浅谈原型对象和原型链
以上就是js继承之js原型和原型链的详细介绍的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product