Показать сообщение отдельно
  #1 (permalink)  
Старый 02.06.2016, 10:32
Интересующийся
Отправить личное сообщение для greenrow Посмотреть профиль Найти все сообщения от greenrow
 
Регистрация: 22.01.2016
Сообщений: 12

использование prototype для создания конструктора обьекта
Добрый день!

Решил впервые попробовать создать свою небольшую библиотеку.

Вот как у меня вызывается новые обьект (без необязательных аргументов)

var loader= new FileLoader(
            '#main_content', //root

            function(){alert('callback ok')}  //callback
        );

Вот как у меня вызывается новые обьект (с необязательными аргументами)

var loader= new FileLoader(
            '#main_content',  //root
    
            {
             fileinfo:{                     
                 root:'.fileloader_info', 
                 length:files_length, //array
                 progress:true,
                 filename:file_names //array
             },
            settings:{hidefoto:true,'description':true} 
                
            },
            function(){alert('callback ok')}//callback fnc
        );


проблема в том что сам обьект создан с использование прототипов, но они сами используютя только внутри обьекта и вызываются исходя параметров обьекта, которых может быть много и не все обязательные.
Например

Если указан в параметре при создание нового обьекта

{fileinfo:{
filename:file_names //array
}
}


В главном обьекте вызывается

FileLoader.prototype.filename=function(arr,i){
                  
           /*код*/
              }


То есть этот прототип нельзя вызвать так

var loader= new FileLoader
loader.filename()



Вопрос - можно ли так формировать архитектуру библиотеки, или лучше все прототипы поменять на методы и разместить их все в одном главном методе конструкторе например _init() ?
Ответить с цитированием