博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2021.5.19 JS高级第二天
阅读量:2147 次
发布时间:2019-04-30

本文共 631 字,大约阅读时间需要 2 分钟。

构造函数、实例、原型三者之间的关系

1.任何函数都具有一个 prototype 属性,该属性是一个对象

2.构造函数的 prototype 对象默认都有一个 constructor 属性,指向 prototype 对象所在函数
3.通过构造函数得到的实例对象内部会包含一个指向构造函数的 prototype 对象的指针 `proto

4.所有实例都直接或间接继承了原型对象的成员

			
构造函数、实例、原型三者之间的关系

原型对象

1.共享数组

2.共享对象

3.如果真的希望可以被实例对象之间共享和修改这些共享数据那就不是问题。但是如果不希望实例之间共享和修改这些共享数据则就是问题。

4.一个更好的建议是,最好不要让实例之间互相共享这些数组或者对象成员,一旦修改的话会导致数据的走向很不明确而且难以维护。

5.原型对象使用建议

1私有成员(一般就是非函数成员)放到构造函数中

2共享成员(一般就是函数)放到原型对象中

3如果重置了 prototype 记得修正 constructor 的指向

			

继承

程序中的继承–一个对象从另一个对象那里得到属性/方法。

继承的实现:

1.构造函数的[属性]继承—

call()方法–从构造函数中继承到构造函数的属性和方法

构造函数的名称.call(this,…)

2.构造函数的[原型方法]继承:拷贝继承(for-in)

3.原型继承

			
继承

转载地址:http://hbzwb.baihongyu.com/

你可能感兴趣的文章
强化学习第1课:像学自行车一样的强化学习
查看>>
强化学习第2课:强化学习,监督式学习,非监督式学习的区别
查看>>
强化学习第3课:有些问题就像个赌局
查看>>
强化学习第4课:这些都可以抽象为一个决策过程
查看>>
强化学习第5课:什么是马尔科夫决策过程
查看>>
强化学习第6课:什么是 Crossentropy 方法
查看>>
强化学习第7课:交叉熵方法的一些局限性
查看>>
强化学习 8: approximate reinforcement learning
查看>>
图解什么是 Transformer
查看>>
代码实例:如何使用 TensorFlow 2.0 Preview
查看>>
6 种用 LSTM 做时间序列预测的模型结构 - Keras 实现
查看>>
走进JavaWeb技术世界1:JavaWeb的由来和基础知识
查看>>
走进JavaWeb技术世界2:JSP与Servlet的曾经与现在
查看>>
走进JavaWeb技术世界3:JDBC的进化与连接池技术
查看>>
走进JavaWeb技术世界4:Servlet 工作原理详解
查看>>
走进JavaWeb技术世界5:初探Tomcat的HTTP请求过程
查看>>
走进JavaWeb技术世界6:Tomcat5总体架构剖析
查看>>
走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别
查看>>
走进JavaWeb技术世界9:Java日志系统的诞生与发展
查看>>
走进JavaWeb技术世界10:从JavaBean讲到Spring
查看>>