宝哥软件园

解释一个小例子来理解js原型和继承

编辑:宝哥软件园 来源:互联网 时间:2021-08-25

导语1:构造函数的原型对象实际上只是构造函数的一个属性。该属性称为prototype,值是一个对象。对象中有一些属性和方法,所以每个构造函数的实例对象都有权使用这些属性和方法。

Lead 2:构造函数需要用新的运算符调用,这本身没有任何意义。它只有实例化后才有生命。当然也可以作为普通函数使用,所以这意味着指向窗口(意义不大)。

线索3:用构造函数实例化一个对象发生了什么?

让我们看看下面的例子:

这个例子充分说明了bosses创建的构造函数是有特殊用途的,本身没有意义,实例化后瞬间有生命。

嗯,在所有这些准备工作之后,我们开始编写构造函数原型用法

直接进入代码!

1.在这个例子中,有一个名为GetElem的构造函数。参数应该传入一个元素的id,并且可以获得这个id的元素。

2、实例化一个名为domOne的对象,该对象传入一个实际参数:“old”;所以它可以得到id为old的元素

3.在构造函数的原型上定义一个名为:changeInner的方法,用于在传入参数的情况下用参数更改元素的内容。

4.在构造函数的原型上定义一个方法:on是根据事件类型和对应的函数做一些事情;

这两个方法在实例化的对象domOne中是不存在的,但是没关系,它确实存在于它的原型对象中!所以可以直接使用;

你必须问为什么不直接在构造函数中写方法更容易。原因是这些方法是在实例化每个对象的过程中创建的。

如果实例化太多,会消耗性能,但是只需要在原型对象上做一次。这也是构造器原型相对于工厂模式的优势。

最后一张图片:

之所以可以链接和编写方法,是因为在每个方法中,都返回这个(这指的是实例对象,当然你可以继续调用它可以调用的方法!)

以上是边肖介绍的js原型和继承集成,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

更多资讯
游戏推荐
更多+