Я пытаюсь научиться программировать. Я просмотрел список сайтов, посвященных учебникам, и я застрял в том, что, по-моему, для меня очень важно понять.Использование JSON для создания экземпляров объекта
Мои вопросы:
(Это то, что я хотел бы самым понять) В моей для ... в цикле, почему создание новых «Obj» объекты с помощью «Контакты» конструктор работает? Кажется, мне понадобилось бы другое имя при каждом цикле, чтобы я не перезаписывал объект, который я создал ранее. Если это правильно, как мне это сделать, если я ничего не знаю о количестве или значении контактов раньше времени? Кроме того, почему заголовок любого из объектов в журналах консоли не говорит obj? Я запутался в том, что значит создать экземпляр объекта? Являются ли имена этих экземпляров несущественными?
Почему все свойства не определены? Должны ли ссылки на свойства временной переменной «i» работать?
Создание объектов из неизвестного количества записей данных кажется действительно важным. К сожалению, места, подобные Codecademy, здесь не хватает. Вы всегда вручную создаете новые экземпляры объектов с жестко заданными именами, которые они вам дают. Но что будет, если бы было одно имя?
Большое спасибо за любую помощь, которую я могу получить от этого. Не сдерживай меня от того, чтобы сказать мне что-нибудь еще глупое, что я могу делать.
Вот ссылка на скриншот консоли - http://i.imgur.com/TK4dtfV.png
var TestApp = {};
// my data... taken from wherever
TestApp.jsonContacts = {
contact1: {
name: "Ethan",
age: 24
},
contact2: {
name: "Evan",
age: 30
},
contact3: {
name: "Paul",
age: 9000
}
};
// I know this is silly, just let me pretend...
TestApp.jsonStrung = JSON.stringify(TestApp.jsonContacts);
TestApp.globalContactList = [];
// my constructor function to create instances of Contact
TestApp.Contact = function(name, age){
this.name = name;
this.age = age;
TestApp.globalContactList.push(this);
};
// where I'm taking data and creating new Contact objects
TestApp.instantiateObjects = function(){
// I know this is silly, just let me pretend...
var jsonUnstrung = JSON.parse(TestApp.jsonStrung);
// I think I'm looping through the first set of objects sitting in jsonContacts
for (var i in jsonUnstrung) {
var obj = new TestApp.Contact(i.name, i.age);
console.log(obj);
}
console.log(TestApp.globalContactList);
};
TestApp.instantiateObjects();
Большое спасибо за это. Он прояснился. –
Хорошо ... Что ДОЛЖНО делать с объектами после того, как я их создал? Вероятно, есть несколько способов справиться с этим, но, учитывая, что я просто хочу изучить довольно надежный способ сделать это в будущем, что бы вы порекомендовали? Должен ли я действительно подталкивать их к массиву? Меня беспокоит только то, что у меня нет способа узнать, какой объект в массиве я упоминаю в будущем. Как бы вы рекомендовали отслеживать номера индексов и объект, который они ссылаются полезным образом? Или есть ли другой способ ссылаться на эти объекты, созданные мной, чтобы я мог позволить событиям DOM изменять данные? –
@ noob-in-need Извините за поздний ответ. То, что вы должны делать с объектами, полностью зависит от того, что вы пытаетесь сделать. Без конкретной задачи я не думаю, что есть какой-то способ сказать, что ваш код должен делать дальше того, что он уже делает. Если у вас есть определенный сценарий в виду, что вы хотели бы знать, как подойти, вы можете опубликовать новый вопрос на этом сайте, и многие люди будут рады помочь вам. – JLRishe