Odwołanie Zagnieżdżony obiekt JavaScript

Mam ten kod:

var string = { 
            nameString : "nameValue",
            nameString2 : "nameValue2",
            nameString3 : "nameValue3",
            datathing : 0,
        };

var data = { 
            data : 1,
            dataNum2 : 2,
            dataNum3 : 3,
            dataNum4 : 4,
        };

var thing = { 
            datathing1 : 10,
            datathing2 : 20,
            datathing3 : 30,
            datathing4 : 40,
        };

var object = { 
            object1 : string,
            data1 : data,
            thing1 : thing,
        };

Dlaczego żaden z tych środków nie ma dostępu do pracy z danymi:

alert("testReference= " + object['object1']['string']['nameString']);
alert("testReference= " + object.object1.string.nameString);

Nie rozumiem tego, mimo że podobne przykłady poniżej i podręczniki wyraźnie stwierdzają, że powinny działać:

Uzyskiwanie dostępu do zagnieżdżonych obiektów JavaScript za pomocą klucza string

Z góry dziękuję za wszelkie dane wejściowe!

Obecnie konstruuję obiekt i przekazuję go dalej, „for in” wywoła wartości, ale test „typeof” lub jakikolwiek inny sposób, w jaki próbuję i dostęp nie zadziała, albo wystąpi błąd (który przerwie program , Myślę) lub ja się „niezdefiniowałem” ....

Ostatnią rzeczą, która zostanie rozwiązana, jest zagnieżdżenie klucza o takiej samej wartości jak jego rodzic, na przykład data.data, co prowadzi do możliwości dalszego zagnieżdżania, takiego jak data.data.data ...

questionAnswers(1)

yourAnswerToTheQuestion