[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Наследование в JS
Johnny
Всем гуру JS привет!
Задача какая. Есть небольшие самописные ф-и. например такая для назначения css атрибутов:
HTML
function css( obj, styles ) {
for( var property in styles ) {
obj.style[property] = styles[property]
}
}

чтобы ею можно было пользоваться в контексте обьекта приходиться делать так:
HTML
Object.prototype.css = function( styles ) {
return css( this, styles )
}

В итоге для любого JS объекта в DOM мы можем вызвать эту ф-ю:
HTML
document.getElementById('id').css({display:'none'})


Так, вот если таких самописных функций много, то хотелось бы увидеть какое-то более изящное решение, кроме как вручную писать Object.prototype.[имя добавляемой функции] = function()...

Никак не могу разобраться с этим. Т.е. нужно как-то заставить встроенный объект Object наследовать функционал моего созданного объекта с функциями.



Спустя 17 минут, 47 секунд (13.10.2009 - 16:55) glock18 написал(а):
Johnny
в принципе только так и можно. другое дело, что можно свой объект научить самому передавать свои методы object'у (ну пишем какой-нить MyObject.init = function(){/* назначаем прототипы, пройдя по собственным свойствам циклом, к примеру */}). или например, просто добавить в object свой объект так же через prototype (выполнять уже все через него придется + сам элемент DOM нужно будет определить в своем объекте). ну это, если лень все вручную дописывать.

Спустя 9 минут, 35 секунд (13.10.2009 - 17:05) Johnny написал(а):
Ну тема с циклом в принципе то же самое, только на автомате = )

Спустя 50 минут, 51 секунда (13.10.2009 - 17:56) glock18 написал(а):
Johnny
да, конечно


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.