原型链及继承的理解 定义函数
function A(name) { // 构造内容(构造函数) this.name = name; /* // 也支持定义方法。但为了性能,不建议在构造里定义方法 this.fn = function(parmas){ // your code } */ }
// 原型链 A.prototype.changeName = function(name) { this.name = name; }
// 静态属性 A.staticPF = "static12345";继承 继承构造函数
function B(name) { // B 继承 A 的构造函数 也可用apply A.call(this, name); } // console.log(B) var b = new B("ccc"); console.log(b.name); // => ccc继承静态属性
// B 继承 A 的静态属性,查找流程如下 // B.staticPF = >B.__proto__.staticPF => A.staticPF; B.__proto__ = A; console.log(B.staticPF); // => static12345继承原型链
var b = new B("ccc"); // B 继承 A 的原型链, 3种方式,推荐第3种 // B.prototype = A.prototype; // 需要前置在b对象实例化前 // b.__proto__ = A.prototype; // B.prototype.__proto__ = A.prototype; B.prototype.__proto__ = A.prototype; b.changeName("ffffd") // b实例最终继续了A的changeName方法 console.log(b.name); // => ffffd
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/103164.html
摘要:也就是说,不必在构造函数中添加定义对象信息,而是可以直接将这些信息添加到原型中。子类的属性,表示构造函数的继承,总是指向父类。以前,这些原生构造函数是无法继承的。 面向对象 js是一门基于对象的语言。js中的一切皆对象; console.log(Object.prototype.toString.call(123)) //[object Number] console....
摘要:数组的构造函数是原型链的指向与其他除以外的构造函数相同,的也指向顶级原型对象,每一个数组都是的实例,都指向。实例对象查找构造函数原型对象的方法一般会把对象共有的属性和方法都放在构造函数的原型对象上。 showImg(https://segmentfault.com/img/remote/1460000018998704?w=900&h=506); 阅读原文 概述 在 JavaScr...
摘要:首先,需要来理清一些基础的计算机编程概念编程哲学与设计模式计算机编程理念源自于对现实抽象的哲学思考,面向对象编程是其一种思维方式,与它并驾齐驱的是另外两种思路过程式和函数式编程。 JavaScript 中的原型机制一直以来都被众多开发者(包括本人)低估甚至忽视了,这是因为绝大多数人没有想要深刻理解这个机制的内涵,以及越来越多的开发者缺乏计算机编程相关的基础知识。对于这样的开发者来说 J...
摘要:之前有朋友问怎么去理解原型和原型链的问题。理解原型链的小技巧将箭头视作泛化子类到父类关系那么图中所有的虚线将构成一个继承层级,而实线表示属性引用。原型链是实现继承的重要方式,原型链的形成是真正是靠而非。 之前有朋友问怎么去理解原型和原型链的问题。这个问题,在面试中,很多同学经常都会遇到。这里给大家讲讲,方便大家记忆。 JavaScript的特点JavaScript是一门直译式脚本...
摘要:之前有朋友问怎么去理解原型和原型链的问题。理解原型链的小技巧将箭头视作泛化子类到父类关系那么图中所有的虚线将构成一个继承层级,而实线表示属性引用。原型链是实现继承的重要方式,原型链的形成是真正是靠而非。 之前有朋友问怎么去理解原型和原型链的问题。这个问题,在面试中,很多同学经常都会遇到。这里给大家讲讲,方便大家记忆。 JavaScript的特点JavaScript是一门直译式脚本...
阅读 786·2021-10-09 09:44
阅读 691·2019-08-30 13:55
阅读 3152·2019-08-29 15:07
阅读 3218·2019-08-29 13:09
阅读 2412·2019-08-29 11:10
阅读 1288·2019-08-26 14:05
阅读 3588·2019-08-26 13:57
阅读 2205·2019-08-23 16:42