Javascript 有没有办法访问父对象?

Javascript 有没有办法访问父对象?,javascript,node.js,vue.js,nuxt.js,Javascript,Node.js,Vue.js,Nuxt.js,我有下面这样的代码,但似乎无法从innerFn函数访问data对象。我有什么办法可以做到这一点吗 export default { data: { a: "a", b: "b" }, fn: { innerFn: () => console.log(data.b) } } 在js文件中 // name the file as follows var func = ()=>{ console.log("triggered your function

我有下面这样的代码,但似乎无法从
innerFn
函数访问
data
对象。我有什么办法可以做到这一点吗

export default {
 data: {
    a: "a",
    b: "b"
 },
 fn: {
    innerFn: () => console.log(data.b)
 }
}
在js文件中

// name the file as follows 
var func = ()=>{
 console.log("triggered your function"); 
}


export default {
 data: {
    a: "a",
    b: "b"
 },
 fn: {
    val: 3,
    innerFn: func
 }
}
现在可以调用该函数了

fn.innerFn();
}


这可能会对您有所帮助。

给您的对象起一个名称,然后您就不必使用
来访问父属性

const obj = {
 data: {
    a: "a",
    b: "b"
 },
 fn: {
    innerFn: () => console.log(obj.data.b)
 }
}

export default obj

自引用是此关键字的作用

使用可以定义范围中的对象属性,其中
this
关键字将引用父对象

var obj1=Object.create(空{
数据:{
价值:{
a:“a”,
b:“b”
}
},
fn:{
值:函数fn(){
console.log(this.data.b);
}
}
});
//试验
console.log(obj1.data.a);
obj1.fn();
//功能替代
函数obj2(){}
obj2.data={
a:“a”,
b:“b”
};
obj2.fn=函数fn(){
console.log(this.data.b);
};
console.log(obj2.data.a);

obj2.fn()您需要使用
this
关键字

例如:-

export default {
    data: {
        a: "World!"
    },
    methods: {
        consoleGreet: () => {
            console.log(`Hello, ${this.data.a}`)
        }
    }
}

this.data.b
@Tushar这不起作用,因为在innerFn中调用
this
只会导致
fn
作用域。任何对象都可以有多个父对象,因此您通常无法查找。
export default {
    data: {
        a: "World!"
    },
    methods: {
        consoleGreet: () => {
            console.log(`Hello, ${this.data.a}`)
        }
    }
}