javascript 如何在当前对象内的js函数中获取当前对象内的上上级对象?

在当前对象内的js函数中获取当前对象内的上上级对象。要使用类似this一样的方法。

示例js代码:

obj={
   title:"啊啊",
    obj:{
       text:"ab",
       test(){
           //获取当前所在对象的指定属性
           console.log(this.aa)
          //获取当前对象所在的上上级的属性title
            console.log(obj.tilte)。
            //有类似this一样的方式获取方式吗,怎么做?通过不指定上级对象名的方式获取上级对象的属性内容
           
        }
    }
}
阅读 2.4k
1 个回答

你给的是父到子结构,可以从父级找子级;
想从子级找父级得换个方向吧,试试这样?

const obj = {
    text: '111',
    parent: {
        text: '11',
        parent: {
            text: '1'
        }
    },
    test() {
        console.log(this.parent.parent.text);
    }
}

obj.test();

或者定义成类

class Node {
    constructor(item, parent) {
        this.parent = parent;
        this.item = item;
    }
}

class TextNode extends Node {
    constructor(item, parent) {
        super(item, parent);
    }
    test() {
        console.log(this.item.aa);
        console.log(this.parent.parent.item.title);
    }
}

const node1 = new Node({title:"1"});
const node1_1 = new Node({title:"1_1"}, node1);
const node1_1_1 = new TextNode({text:"1_1_1", aa: 999}, node1_1);
node1_1_1.test();

// (new TextNode({text:"1_1_1", aa: 999}, new Node({title:"1_1"}, new Node({title:"1"})))).test();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题