2016-11-05 2 views
3

익명의 함수 내에서 객체를 만들고 액세스하려면 어떻게해야합니까? 으로 obj1에서자바 스크립트에서 값의 함수 내에서 객체를 생성하는 방법

var obj1 = {key1: "val1", key2: {a: "this is a val"} }; 

나는 그것을 그것이 내가이 (가)에 액세스하는 방법 다음의 경우이 방법

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

할 내가 console.log(obj1.key2.a);

로 액세스 할 수있는 것이 가능 알고 발을;

+1

'VAR obj2보다 = {KEY1 : "VAL1"K 함수에 }}} ... ... 다음 함수를 호출하고 속성 frm이 객체를 반환합니다. console.log (obj2.key2().);' –

+0

하지만 전체 객체를 반환하고 있습니다. 어떻게 키를 얻을 수 있습니까? – Mohsin

+0

나는 "이것은 발"이되고 싶다는 뜻이다. – Mohsin

답변

1

개체를 액세스하려면 함수에서 개체를 반환해야합니다. return 문을 추가 한 후 함수를 호출하여 객체를 가져올 수 있으며 a 속성을 얻을 수 있습니다.

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

 
console.log(obj2.key2().a)

0

당신이 좀 더 유연성을 원하는 경우 일반 키를 가리키는 대신 할 게터 기능을, 당신은 키 2를 가질 수있다 (당신의 가치 당신이 처음 제안 된 방법에 액세스 할 수 있도록)

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

 
console.log(obj2.key2.a)

관련 문제