从子类访问javascript父类属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从子类访问javascript父类属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1496字,纯文字阅读大概需要3分钟。
内容图文
![从子类访问javascript父类属性](/upload/InfoBanner/zyjiaocheng/723/7321d95de93c46dbadbfa02d38f4586c.jpg)
大家好我在javascript中有关于obj的问题
如何访问父类属性
function randomObj() // for example button obj
{
this.text = "this is obj";
}
function parentClass()
{
this.name = "parent";
this.subObj;
}
parentClass.prototype.generate = function()
{
this.subObj = new randomObj();
this.subObj.changeParentClassName = function() // button obj wants to change name
{
this.name = "not parent";
}
}
var sampleObj = new parentClass();
sampleObj.generate();
sampleObj.subObj.changeParentClassName (); // does not works
似乎’changeParentClassName’中的’this’是subObj,如何访问parentclass.name?
谁都可以帮忙?
解决方法:
JavaScript这将是左边的对象.在调用函数时.在这种情况下,subObj不是parentObj,因此您在subObj上设置名称.你有2个选项,你可以把它放在一个不同的变量里面生成,所以它不会被JavaScript的这个逻辑所取代.就像是:
var parentObj = this;
this.subObj.changeParentClassName = function() // button obj wants to change name
{
parentObj.name = "not parent";
};
或者您可以使用bind()创建一个新函数,将其绑定到已知对象(在本例中为您的父对象),例如:
this.subObj.changeParentClassName = (function() // button obj wants to change name
{
this.name = "not parent";
}).bind(this); // bind the 'this' inside the changeParentClassName to the 'this' inside generate
有关绑定和交互式示例的更多信息,请查看Function bind().
请注意,如果您要定位最新版本的Javascript(ECMAScript 6或更高版本),则可以使用a =>与声明范围相比,不改变此值的函数.所以你可以使用:
this.subObj.changeParentClassName = () => // button obj wants to change name
{
this.name = "not parent";
};
内容总结
以上是互联网集市为您收集整理的从子类访问javascript父类属性全部内容,希望文章能够帮你解决从子类访问javascript父类属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。