我有以下代码:
var objectParent:{
child1:{
test1:function(){},
test2:function(){}
},
child2:{
demo1:function(){},
demo2:function(){},
parent:this // gives child2
grandparent: .... // need to reference objectParent here
}
}
我们可以使用 this 关键字来引用对象,但是对于大对象或者我的意思是父对象的父对象呢?
现在,我使用 grandparent:objectParent 来引用父对象
还有其他像this选择器这样的方式来引用parentObject吗?
我的编码是不好、好还是更好?
如果您的所有对象都有一个
parent
属性来引用其父对象,那么可以使用 object.parent.parent
获取祖父母。
目前还不清楚你想做什么。
如果您有一个元素引用
elem
,那么您可以使用 elem.parentNode
获取其父元素。您可以通过 elem.parentNode.parentNode
等找到父母的父母(例如祖父母)。
如果这不是您想要做的,请更详细地解释祖父母对象的含义。
如果您根本不讨论 DOM 引用,而是询问普通 javascript 中的嵌套对象,那么 javascript 不包含任何方法来获取您所在的父对象。您必须在子对象上创建一个属性,并在构造对象后根据需要设置它(您也不能使用静态声明来设置它)。
我必须做
div.parentElement.parentElement
才能实现它。
查看要访问的内容的一种方法是将
div.__proto__
记录到控制台,该控制台会显示一长串可以调用的属性和方法。
你只需执行
div.offsetParent
,你就会得到 div 的祖父母。