如何在匿名函数值中创建和访问对象?
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;
答案 0 :(得分:1)
您需要从函数返回对象才能访问它。添加return
语句后,您可以通过调用函数获取对象,然后获取属性a
。
var obj2 = {
key1: "val1",
key2: function() {
return {
a: "this is a val"
}
}
};
console.log(obj2.key2().a)
答案 1 :(得分:0)
如果你想要更灵活一点(并且能够以你最初提出的方式访问你的值),你可以让key2成为一个getter函数,而不是一个指向函数的常规键:
var obj2 = {
key1: "val1",
get key2 () {
return {
a: "this is a val"
}
}
};
console.log(obj2.key2.a)