1.利用call或者apply绑定this的方式,只能继承实例属性。不能继承原型对象上的方法和属性 2.原型链继承 函数B继承函数A :图形示例如下: function A (cat) { this.cat = "猫咪" } A.prototype.myName = function () { co ...
分类:
Web程序 时间:
2019-12-25 17:43:24
阅读次数:
87
继承是OOP中大家最喜欢谈论的内容之一,一般来说,继承都两种方式:接口继承和实现继承而JavaScript中没有接口继承需要的方法,因此只能依靠实现继承。在讲继承的实现之前,我们首先来回顾一下什么是继承?继承的作用是什么? 它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩 ...
分类:
Web程序 时间:
2019-12-22 16:46:05
阅读次数:
89
在JS中,每当创建一个函数对象f1 时,该对象中都会内置一些属性,其中包括prototype和proto, prototype即原型对象。 每一个构造函数都有一个与之相关联的对象,该对象称之为原型对象。每个实例对象都能共享其原型对象上的属性和方法。原型对象的作用主要用来实现属性的继承,让实例对象能共 ...
分类:
Web程序 时间:
2019-12-22 16:39:59
阅读次数:
88
构造函数 构造函数就是我们用new创建对象时调用的函数。到目前为止,我们已经学过好多内置的构造函数了,例如,Object,Array和Function。使用同一个构造函数创建的对象都具有相同的属性和方法。除了这些内置的构造函数外,我们也可以创建自己的构造函数。 构造函数也是函数,和普通函数的定义方式 ...
分类:
其他好文 时间:
2019-12-21 11:31:45
阅读次数:
69
OOP语言都支持两个继承方式:接口继承和实现继承。在ECMAScript中支持实现继承,而且其实现继承主要是依靠原型链来实现的。 每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。当我们让原型对象等于另一个类型的实例,那么就实现了继承。 fu ...
分类:
编程语言 时间:
2019-12-17 18:00:28
阅读次数:
105
在看了网上很多相关的文章,很多都是懵逼看完,并不是说各位前辈们写得不好,而是说实在不容易在一两次阅读中理解透。我在阅读了一些文章后,自己整理总结和绘制了一些相关的图,个人认为会更容易接受和理解,所以分享在此。也因此以下的所有的理解和图解都是出于个人的理解,如果有错误的地方,请各位前辈务必见谅,并辛苦 ...
分类:
其他好文 时间:
2019-12-16 09:53:13
阅读次数:
83
Object.create(proto,propertiesObject)方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。 参数: proto:新创建对象的原型对象。 propertiesObject : 可选。如果没有指定默认为 undefined 则是要添加到新创建对象 ...
分类:
其他好文 时间:
2019-12-14 21:18:06
阅读次数:
80