就像是
var life= { users : { guys : function(){ this.SOMETHING.mameAndDestroy(this.girls); }, girls : function(){ this.SOMETHING.kiss(this.boys); }, }, mameAndDestroy : function(group){ }, kiss : function(group){ } };
这个.SOMETHING是我想象的格式,但它可能不是.什么会退回到对象的父级?
我只是添加了第一个函数
parentThis = this;
并在子功能中使用parentThis.为什么?因为在JavaScript中,对象很软.可以通过简单的赋值将新成员添加到软对象中(不像是经典对象很难的Java.将新成员添加到硬对象的唯一方法是创建一个新类)更多相关内容:http ://www.crockford.com/javascript/inheritance.html
而且最后你不必杀死或破坏对象.为什么我在这里找到:http://bytes.com/topic/javascript/answers/152552-javascript-destroy-object
希望这可以帮助
JavaScript本身不提供此功能.我怀疑你甚至可以创建这种类型的功能.例如:
var Bobby = {name: "Bobby"}; var Dad = {name: "Dad", children: [ Bobby ]}; var Mom = {name: "Mom", children: [ Bobby ]};
鲍比属于谁?
在这种情况下,您可以使用life
引用父对象.或者您可以life
在users对象中存储引用.在语言中没有固定的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