Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > for…in и пользовательские объекты |
Автор: Sardar 21.4.2005, 01:42 | ||
К сожалению не кривых ассоциативных массивов в JS нет(в JScript есть словарь ;-) ), другими словами любой обьект есть ассоциативный массив, но ни один из его ключей не должен совпадать с базовым интерфейсом обьекта. Например ключь toString запрещён. Но нет проблем если мы сделаем пару get/set методов, а все ключи будем писать с уникальным префиксом: Простая реализация за 5 минут:
Длинна (len) это приватное поле, не доступное извне. Оно лежит в контексте конструктора, потому методы что его используют тоже обьявленны в конструкторе. Технически на каждый обьект создаётся своя копия метода, что хавает чуть больше памяти. Практически нам на это по барабану ![]() |