首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么在另一个对象中的Parent.call(这个)工作?

为什么在另一个对象中的Parent.call(这个)工作?
EN

Stack Overflow用户
提问于 2017-01-11 02:25:04
回答 2查看 33关注 0票数 0
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function Parent(){ 
this.name = "parent";
console.log("this gets executed");
}
function Child(){
 Parent.call(this) // doesnt the this here belongs to the child object?
}
var o = new Child();

为什么子对象中的this调用父构造函数?this不是指子对象吗?请指点一下菜鸟javascripter,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-11 02:32:48

您使用的是打电话而不是绑定

调用的一种使用是链式构造函数(类似于在OOP语言(如JAVA)中从子构造函数中执行super() )。调用子构造函数,然后从子上下文中创建父对象。

但是,Bind将设置函数所需的this

正如建议的那样,javascript中对this的解释可以在在这个博客里中找到,也可以在堆栈过流问题中找到

票数 2
EN

Stack Overflow用户

发布于 2017-01-11 02:33:03

this只引用子对象。

在这里,您将在Parent (即子对象)上下文中调用this函数。

Parent.call(this)类似于Parent(),唯一的区别是调用方法的上下文。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41588279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文