Johnny
13.10.2009 - 17:37
Всем гуру 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 написал(а):
_____________