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

时间:2016-11-05 05:34:57

标签: 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;

2 个答案:

答案 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)