首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置`ConstructorFunc.prototype.constructor = ConstructorFunc`。你有什么想法?

设置`ConstructorFunc.prototype.constructor = ConstructorFunc`。你有什么想法?
EN

Stack Overflow用户
提问于 2019-11-03 17:50:25
回答 1查看 34关注 0票数 0

读一本关于继承的书。它给出了实现继承的示例。

代码语言:javascript
运行
AI代码解释
复制
function Mammal() {}
Mammal.prototype = new Animal();
Mammal.prototype.constructor = Mammal;
Mammal.prototype.isPregnant = false;
Mammal.prototype.pairsOfEyes = 1;

我不明白为什么他们要做Mammal.prototype.constructor = Mammal

在这条线之前我们有

Mammal.prototype.constructor === Animal对吗?那他们为什么要把它给哺乳动物?

解释如下:

在更改Mammal.prototype属性的值之后,我们将向Mammal.constructor属性分配Mammal构造函数,以便在更改prototype的值时清除对构造函数属性的副作用。

?!

那是什么意思?

这个图案对不对?

MDN教程在这个主题上也有点模糊。参见这里的例子,老师在这里扩展了人。

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Inheritance

在我们继续前进之前,我们还需要做一件事。添加最后一行后,Teacher.prototype的构造函数属性现在等于Person(),因为我们只是将Teacher.prototype设置为引用从Person.prototype继承属性的对象!尝试保存代码,在浏览器中加载页面,并将Teacher.prototype.constructor输入控制台进行验证。这可能会成为一个问题,所以我们需要纠正这个问题。

?!

看来这一步是必要的。但是它背后的想法是什么呢?

我的意思是,谁需要这个属性(稍后),为什么不以这种方式设置它会导致问题?

EN

回答 1

Stack Overflow用户

发布于 2019-11-03 17:57:37

Mammal.prototype.constructor === Animal对吗?那他们为什么要把它给哺乳动物?

对,这不是件好事。Mammal.prototypeMammal实例的原型,所以您需要

代码语言:javascript
运行
AI代码解释
复制
new Mammal().constructor === Mammal

代码语言:javascript
运行
AI代码解释
复制
new Mammal().constructor === Animal

这就是改变的结果。

这个模式真的正确吗?

说大也大吧。这是非常过时的--懒惰(但实用)的ES3做事方式。在ES5中,您将使用Object.create(Animal.prototype),允许父构造函数实际操作,并相应地调用子构造函数中的父构造函数:

代码语言:javascript
运行
AI代码解释
复制
function Mammal() {
    Animal.call(this);
}

现在,class将为您完成所有这些以及更多的工作:

代码语言:javascript
运行
AI代码解释
复制
class Mammal extends Animal {}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58686282

复制
相关文章
你可以用区块链做什么?这里有4个想法要考虑
作者:甲骨文公司ERP开发高级总监David Haimes 到目前为止,您可能已经听说过至少有一个区块链的描述,而这个描述可能与金钱有关。区块链因其“分布式分类账”技术而备受关注,这是通过私人市场购买或出售加密货币和其他资产的基础。 但区块链技术比加密货币有更广泛的应用。在未来,区块链技术可能成为许多日常企业对企业交易的一部分,包括那些由企业应用程序支持的交易。 讨论的用例很多,难以理解,但我更愿意看技术如何为企业带来价值。看看区块链如何在企业应用程序中工作的四种情况,以提供更灵活,安全和简化的业务流程
企鹅号小编
2018/02/27
7100
你可以用区块链做什么?这里有4个想法要考虑
你可以用区块链做什么? 这里有4个想法要考虑
作者:甲骨文公司ERP开发高级总监David Haimes 到目前为止,您可能已经听说过至少有一个区块链的描述,而这个描述可能与金钱有关。区块链因其“分布式分类账”技术而备受关注,这是通过私人市场购买或出售加密货币和其他资产的基础。 但区块链技术比加密货币有更广泛的应用。在未来,区块链技术可能成为许多日常企业对企业交易的一部分,包括那些由企业应用程序支持的交易。 讨论的用例很多,难以理解,但我更愿意看技术如何为企业带来价值。看看区块链如何在企业应用程序中工作的四种情况,以提供更灵活,安全和简化的业务流程
架构师研究会
2018/04/09
5740
你可以用区块链做什么? 这里有4个想法要考虑
cdn怎么设置?设置cdn有什么用?
有些朋友可能并不了解cdn,其实cdn就是内容分发网络,它可以帮助用户就近获取想要的内容,在用户访问时提高网站的反应速度。现在很多朋友都想为自己的服务器设置cdn,但是具体怎么操作,大家可能并不太了解。如果大家想知道cdn怎么设置,可以参考一下下面的内容。按照步骤一步步操作,大家一定可以成功设置好cdn。
用户8715145
2021/09/30
4.1K0
Discourse 有什么办法可以设置全局通知
然后在输入框中输入文字文本就可以了,这里是可以支持 HTML 的,所以你可以在这里创建一个链接,让你的用户进入帖子以便于展示更多的内容。
HoneyMoose
2020/05/21
7050
Discourse 有什么办法可以设置全局通知
我有一个大胆的想法!
一款名叫“Pluribus”的AI扑克牌机器人在六人无限制德州扑克这项复杂游戏中,碾压了人类职业选手!——这是AI机器人首次在规模超过两人的复杂对局中击败顶级人类玩家。
量化投资与机器学习微信公众号
2019/07/17
1.2K0
我有一个大胆的想法!
看到猎豹这款机械臂,你有没有产生什么大胆的想法?
猎豹移动CEO@傅盛 发了一条微博,配了一个超级未来感的视频,结果激发了微博众粉丝连同各品牌的联合狂欢。先来瞅瞅这个视频,真第一次看到这么酷炫的机械臂。
IT派
2018/07/30
5140
看到猎豹这款机械臂,你有没有产生什么大胆的想法?
你知道什么是最美C语言代码吗?来看一下说说你的想法
各位小伙伴,看到标题大家肯定会联想许多,到底怎样算最美的代码?话不多说,代码先上:
诸葛青云
2019/10/23
5640
你知道什么是最美C语言代码吗?来看一下说说你的想法
[职场]最近聊到30岁以上的程序员,该何去何从了?你有啥想法?
今天不聊技术,就和大家聊聊30岁以上的程序员,该何去何从,有什么想法都可以留言交流交流!
全栈程序员站长
2022/07/19
4450
从 O(N) 优化到 O(logN),你的第一想法是什么?
给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。
五分钟学算法
2020/03/28
5330
unity3d:UGUI层级设置有几种方式,最终是设置了什么
RenderQueue、SortingLayer、SortingOrder等的设置,让物体B挡在物体A前面
立羽
2023/08/24
1.1K0
unity3d:UGUI层级设置有几种方式,最终是设置了什么
什么是旁路由 用旁路由有什么好处 旁路由怎么设置
时间:2019-11-23 15:48:52 / 来源:你好多多DIY / 作者:多多
全栈程序员站长
2022/09/02
7.2K0
什么是旁路由 用旁路由有什么好处 旁路由怎么设置
ai语音合成怎么设置呢?语音合成有什么作用?
短视频的门槛是比较低的,很多人都可以从事短视频行业,现在,做短视频的人也变得越来越多,短视频行业也帮助很多人赚取不少钱。不过,短视频的制作是需要后期配音的,也就是ai语音,我们需要把文字生成配音。对于一些新手小白来说,ai语音合成也是有一定的困难的,那么,ai语音合成怎么设置呢?
用户8715145
2021/11/16
3.5K0
设置好了conda镜像为什么仍然是有CondaHTTPError
管理员让他简单的修改了前面的命令, 就是删除 -c bioconda ,命令如下所示:
生信技能树
2022/12/16
4930
你知道你的Docker镜像里有什么吗?Buildpacks知道。
你不能修补一个你不知道你有的漏洞。这就是为什么了解Docker镜像中的内容是确保其安全性的第一步。幸运的是,任何使用Cloud Native Buildpacks构建的镜像都包含元数据,你不仅可以使用这些元数据来确定镜像包含什么,还可以确定每个层中包含什么以及如何创建镜像。
CNCF
2019/12/04
1.1K0
想法阶段
想法阶段 ---- 1.To-Do-List + Get-Things-Down类型 1)用户痛点 现有产品无法很好得进行添加 国内的类似产品无法进行定位来提醒用户 对于一些懒癌患者通知方式单一,比如短信,甚至电话 2)产品定位 3)解决措施 4)竞品分析 5)初步流程 ---- ---- 2.具有版本控制的设计图源文件储存平台(不局限于UI领域) ---- Slogan: Focus On Design 1)用户痛点 目前市场上没有设计图进行版本控制的软件(尤其国内传统设计企业) 使用文件夹进行版
Fred Liang
2018/07/06
5310
大师告诉你,学习数学有什么用
先介绍下上面这幅图片,选自电影《模仿游戏》,讲在二战期间,天才图灵如何破解德军密码的故事。德军的密码机非常强大,每一组电文的可能性有159X10的18次方之多,而且每24小时要更换一次秘钥,面对这台机器,图灵说“这是极其精密的机器,问题就是我们只尝试用人工的方式打败它,这样不行,只有机器才能打败另一台机器”。数学家,在战争中发挥着重要作用,此文又是一例。 作者:乔丹·艾伦伯格(Jordan Ellenberg),美国威斯康星大学数学系教授。选自《魔鬼数学》 数学知识什么时候能派上用场呢? 在地球上某个地方的
大数据文摘
2018/05/21
7840
我有一个美(大)丽(胆)的想法
上个月二哥在公司内部申请新开了一门培训课程:《图解 VPC & K8s networking model》。申请课程倒是简单,但准备过程把我累个半死。我几乎把所有的业余时间全部都花在了这个课程准备上面。10 月份下旬就要开课了,想想还有点小期待
LanceZhang
2022/10/28
5190
我有一个美(大)丽(胆)的想法
这些 AI 算法太强了,我有个大胆的想法!
好久没有推荐有趣的算法了,今天 Jack 再带大家逛逛「AI 乐园」,看看最近新出了哪些新奇好玩的 AI 算法。
Jack_Cui
2020/09/18
1.2K0
如何把你的想法一键变成图画?
前几天,在 Roam Research 群里面,有小伙伴打听,说依据关键词从 unsplash 平台搜索图片,和那个靠着 Text-to-Imge GAN 人工智能,从文字生成图像,是不是一码事儿?
王树义
2021/08/26
9710
如何把你的想法一键变成图画?
点击加载更多

相似问题

imagefttext()不工作你有什么想法吗?

14

你对ASP.Net会员有什么想法?

20

jsrender模板不会渲染,你有什么想法吗?

23

ios crash _mh_execute_header (你有什么想法吗?)

11

Rails HABTM关联没有使用.clear清除,你有什么想法?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档