Показать сообщение отдельно
  #13 (permalink)  
Старый 01.05.2015, 22:45
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Помогите, пожалуйста, разобраться в ситуации.
Ниже написан код, которые добавляет объекты в localStorage при условии, что в самом хранилище уже что-то есть.
Если там ничего нет, - в коде это строка if (myStorage.length == 0) {};
(тестирую, очистив предварительно localStorage), - то консоль выдаёт ошибку Uncaught SyntaxError: Unexpected end of input.

Интересует:
1) Почему строка с переменной var events = localStorage.getItem('events') || [];
не определяет пустой массив, если в localStorage ещё нет 'events'?

2) Как создать и прописать условие для if (myStorage.length == 0) {}; чтобы там создавался в localStorage пустой массив, если нет ещё сохранённых данных.
Оставил в коде специально пустое место после фигурных скобок.

Пробовал:
1) var myStorage = [];
2) var myStorage = myStorage.push({Date: "", Event: "", Participants: "", Description: ""});
localStorage.setItem('myStorage', JSON.stringify(myStorage));

P.S. Важная часть начинается с var events...

if (tdAttr) {

                        tdAttr.style.backgroundColor = 'green';
                        tdAttr.getElementsByTagName("span")[0].innerHTML = fastAddEvent.value;


                         var fastDate = tdAttr.getAttribute('data-cell');
                         var fastEvent = fastAddEvent.value;

                         var events = localStorage.getItem('events') || [];
                         

                          var addFastEvent = function() {
                        
                            var myStorage = JSON.parse(events);
           

                            if (myStorage.length == 0) {
                                
                            }

                            else if (myStorage.length > 0) {
     

                              for (var i = 0; i < myStorage.length; i++) {
      
                                  if (myStorage[i].Date == fastDate) {
                    
                                      myStorage[i].Event = fastEvent;
                                      myStorage[i].Participants = "";
                                      myStorage[i].Description = "";
                                
                                  };


                                  break;

                              };

  

                            };

                              localStorage.setItem('events', JSON.stringify(myStorage));


                          };

                          addFastEvent();
                      };
Ответить с цитированием