[Moscow.pm] Уж не знал что до такого дойду.

Denis Ibaev dionys на gmail.com
Сб Июл 19 15:56:16 PDT 2008


>> А вот это повод для священной войны. Неумение готовить JavaScript не
>> означает, что он ублюдочный.
>>
>> И кстати, в JavaScript нет ссылок. (:
>
> Никакой священной войны, там есть ссылка на функцию и ссылка на объект.

Нет там ссылок, в этом объекты JavaScript похожи на объекты Object
Pascal, переменная-объект - неявная ссылка на некоторую область
памяти. Явных ссылок нет. А функции в JavaScript тоже являются
объектами.

> А ублюдочность заключается в отсутствии базовых интерфейсов к типам данных.
>
> Мне не нравится невозможность писать
> for (element in Node.childNodes) {}

На отсутствие итераторов жаловаться в W3C, DOM (а NodeList - это из
DOM) к JavaScript отношения не имеет, и наоборот.

Оператор for...in вообще для другого предназначен, то что он по
массиву позволяет бегать, такой приятный "побочный" эффект. Этот
оператор предназначен для перебора перечисляемых (не DontEnum) свойств
объекта. А у массива как раз все свойства, кроме индексов (да, индексы
это тоже такие непростые свойства), имеют атрибут DontEnum. Кстати,
всякие Prototype, расширяя базовый тип Array, ломают эту возможность,
потому что новые свойства попадают в перечисление.

-- 
Денис Ибаев


Подробная информация о списке рассылки Moscow-pm