Javascript嵌套对象访问根级别

Javascript nested object access root level

本文关键字:访问 嵌套 对象 Javascript      更新时间:2023-09-26

我在javascript中有一个嵌套对象,如下所示:

{
nameRoot: "my object",
sub: {
  nameSub: "my sub object"
}
}

我想从sub.中定义的函数访问nameRoot

使用一个函数,我会定义一些类似的东西:

var self = this;

并使用self,但我如何在文字对象中做到这一点?

以下代码允许您链接到父元素,并避免父元素出现在for in循环中。

var parent = { a: 1 };
var child = { b: 2 };
Object.defineProperty(
    child, 'parent', 
    { value: parent, 
      enumerable: false }
);
parent.child = child;
child.performAction = function() {
    console.log(this.parent.a) // 1
}

所以最好的方法是w/function scope。

function myFunc(){
   this.nameRoot = "my object";
}

然后你可以做一些类似的事情:

var func = new myFunc();
func.sub = new myFunc();
func.sub.nameRoot = "my sub object";

显然,有更聪明的方法可以做到这一点(例如,通过函数params传递名称),但这是通用模式。