如何在javascript中创建值函数内部的对象

如何在javascript中创建值函数内部的对象,javascript,Javascript,如何在值的匿名函数中创建和访问对象 var obj1 = {key1: "val1", key2: {a: "this is a val"} }; 在obj1中,我知道我可以通过console.log(obj1.key2.a)访问它 有可能这样做吗 var obj2 = {key1: "val1", key2: function(){ {a: "this is a val"} }}; 如果是,那么我将如何访问a:val 您需要从函数返回对象才能访问它。添加return语句后,可以通过

如何在值的匿名函数中创建和访问对象

var obj1 = {key1: "val1", key2: {a: "this is a val"} };
在obj1中,我知道我可以通过
console.log(obj1.key2.a)访问它

有可能这样做吗

var obj2 = {key1: "val1", key2: function(){   {a: "this is a val"}   }};

如果是,那么我将如何访问a:val

您需要从函数返回对象才能访问它。添加
return
语句后,可以通过调用函数获取对象,然后获取属性
a

var obj2={
键1:“val1”,
键2:函数(){
返回{
答:“这是一个val”
}
}
};

console.log(obj2.key2().a)
如果您想要更大的灵活性(并且能够以您最初建议的方式访问您的值),可以将key2设置为getter函数,而不是指向函数的常规键:

var obj2={
键1:“val1”,
获取键2(){
返回{
答:“这是一个val”
}
}
};

log(obj2.key2.a)
var obj2={key1:“val1”,key2:function(){return{a:“这是一个val”}}。。。然后调用函数并获取属性frm returned object
console.log(obj2.key2().a)但它返回的是整个对象,如何只获取它的键?我的意思是我想获取“这是一个val”你试过Pranav的代码吗?它输出“这是一个val”。
obj2.key2()