为了账号安全,请及时绑定邮箱和手机立即绑定

从javascript对象访问父对象的父对象

从javascript对象访问父对象的父对象

Qyouu 2019-11-30 15:12:27
就像是var life= {        users : {             guys : function(){ this.SOMETHING.mameAndDestroy(this.girls); },             girls : function(){ this.SOMETHING.kiss(this.boys); },        },        mameAndDestroy : function(group){ },        kiss : function(group){ }};这是我想象的格式,但事实并非如此。什么会退回到对象的父级?
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

JavaScript本身不提供此功能。而且我怀疑您是否可以创建此类功能。例如:


var Bobby = {name: "Bobby"};

var Dad = {name: "Dad", children: [ Bobby ]};

var Mom = {name: "Mom", children: [ Bobby ]};

鲍比属于谁?


查看完整回答
反对 回复 2019-11-30
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

在这种情况下,您可以life用来引用父对象。或者,您可以life在用户对象中存储对的引用。parent语言中没有固定的可用内容,因为用户只是对对象的引用,并且可能还有其他引用...


var death = { residents : life.users };

life.users.smallFurryCreaturesFromAlphaCentauri = { exist : function() {} };

// death.residents.smallFurryCreaturesFromAlphaCentauri now exists

//  - because life.users references the same object as death.residents!

您可能会发现使用类似以下内容可能会有所帮助:


function addChild(ob, childName, childOb)

{

   ob[childName] = childOb;

   childOb.parent = ob;

}


var life= {

        mameAndDestroy : function(group){ },

        kiss : function(group){ }

};


addChild(life, 'users', {

   guys : function(){ this.parent.mameAndDestroy(this.girls); },

   girls : function(){ this.parent.kiss(this.boys); },

   });


// life.users.parent now exists and points to life


查看完整回答
反对 回复 2019-11-30
  • 3 回答
  • 0 关注
  • 774 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信