> просто предположил, что есть обходной маневр ... оказалось лучше вобще сменить подход на второй
нет, ну почему - если за "обходной маневр" посчитать, что UserObject работает только со свойствами конкретного объекта (или группы конкретных объектов со схожими свойствами), то вполне сработает и первый вариант (т.е. UserObject просто станет оберткой для методов объектов, вызванных call'ом или apply'ем)
Третьим вариантом может быть расширение самого объекта (div'a в твоем случае) таким методом (тогда можно будет вызвать твойDiv.bg(), хотя при первом варианте (при условии, что UserObject работает только со нужными свойствами) будет тратиться меньше памяти, поскольку вызывается всегда одна единственная функция в нужном контексте). Кстати, в FF и Opera можно расширить встроенные интерфейсы (например window.HTMLElement), от которого наследуются html-елементы и тогда также памяти сожрется меньше (тоже будет всего одна функция в прототипе) и также можно вызывать твойDiv.bg();
Последний раз редактировалось Dmitry A. Soshnikov, 17.04.2008 в 14:14.
Причина: опечатка: HtmlElement, надо - HTMLElement
|