Ik zou graag de juiste manier willen weten om een genest object in javascript te maken. Ik wil een basisobject met de naam “defaultsettings”. Het moet 2 eigenschappen hebben (objecttype): ajaxsettings en uisettings. Ik weet dat ik iets kan schrijven als
var defaultsettings = new Object();
var ajaxsettings = new Object();
defaultsettings.ajaxsettings = ajaxsettings.. etc.
Maar wat ik wil weten is hoe ik het op deze manier moet typen (waarvan ik veronderstel dat dit een correctere manier is):
var defaultsettings = {
var ajaxsettings = { ... }
};
Ik neem aan dat je het idee begrijpt. Bedankt!
Antwoord 1, autoriteit 100%
Als u de instellingen van tevoren weet, kunt u deze in een enkele verklaring definiëren:
var defaultsettings = {
ajaxsettings : { "ak1" : "v1", "ak2" : "v2", etc. },
uisettings : { "ui1" : "v1", "ui22" : "v2", etc }
};
Als u de waarden niet van tevoren weet, kunt u het object op het hoogste niveau definiëren en vervolgens eigenschappen toevoegen:
var defaultsettings = { };
defaultsettings["ajaxsettings"] = {};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
Of halverwege de twee, definieer het hoogste niveau met geneste lege objecten als eigenschappen en voeg vervolgens eigenschappen toe aan die geneste objecten:
var defaultsettings = {
ajaxsettings : { },
uisettings : { }
};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
defaultsettings["uisettings"]["somekey"] = "some value";
Je kunt zo diep nesten als je wilt met de bovenstaande technieken, en overal waar je een letterlijke tekenreeks tussen vierkante haken hebt, kun je een variabele gebruiken:
var keyname = "ajaxsettings";
var defaultsettings = {};
defaultsettings[keyname] = {};
defaultsettings[keyname]["some key"] = "some value";
Houd er rekening mee dat u geenvariabelen kunt gebruiken voor sleutelnamen in de letterlijke syntaxis { }.
Antwoord 2, autoriteit 15%
var defaultsettings = {
ajaxsettings: {
...
},
uisettings: {
...
}
};
Antwoord 3, autoriteit 5%
var defaultSettings = {
ajaxsettings: {},
uisettings: {}
};
Bekijk deze site: http://www.json.org/
U kunt ook proberen JSON.stringify() aan te roepen op een van uw objecten vanuit de browser om het json-formaat te zien. Je zou dit in de console of een testpagina moeten doen.