1 заметка с тегом

!OOP РСС

10 августа 2009, 23:06

Javascript: Как изменить свойства Объекта, не создавая классы, то есть без ООП

Для этого нужна функция eval. Опа, взял и раскрыл все секреты ;)
Вкратце: у нас есть Объект (образно говоря дерево), и что бы им нормально управлять нужно написать куча ООП кода :( А иногда это делать просто лень. Ведь всегда проще написать
eval("delete tree['branch']['leaf'][123]");
// или
eval("delete tree.branch.leaf[123]");
// что по сути одно и тоже

Дальше будет ссылка на дурацкий пример, в котором можно:
  • вставлять (добавлять) ноды в объект;
  • переименовывать ноды (как со смещением позиции так и без);
  • удалять ноды.
А также реализованы функции:
  • подсчета вложенности дерева;
  • генерации евал-предложения (координаты объекта);
  • сделан экспорт объекта JSON-like :).
Навешаны фичи:
  • генерации дерева, используя простой JS/CSS (можно сворачивать/разворачивать);
  • прикручено контекстное меню (right-click);
  • прикручен даблклик.



ps:помните, так делать с объектами нельзя,только на свой страх и риск
!OOP   javascript