Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Новый обьект или вызов функции (https://javascript.ru/forum/misc/65162-novyjj-obekt-ili-vyzov-funkcii.html)

greenrow_ty 30.09.2016 15:57

Новый обьект или вызов функции
 
Добрый день!

Ест главный обьект - Editor

var Editor=function(nodes){

    this.rootarr=document.querySelectorAll(nodes) //атрибут -псевдо массив нод



    var init=function(this_){
        var l=this_.rootarr.length;
        for(var i=0; i<l;i++){
// код//
                 var ev=new Editor_event(this_.rootarr[i],i);//  вызывается другой обьект с параметрами
         }
 
    }
  init(this);

}



Собственно вопрос касательно обьекта Editor_event. 

вот его небольшая часть 
var Editor_event=function(elem,i){
    this.element_index=i
    this.root=elem;
    var event_conf={
        "register_event":function(_this){
         _this.root.querySelector('.text_editor').addEventListener('click',event_callback)
        }

    }

event_conf.register_event(this);
}


Правильно ли так вызывать обьект Editor_event? ведь все сводится к обычной передачи параметров, как функции и собственное this не используется по назначению. Так как данные обьект пользователем не вызывается нет публичных методов.Если вместо обьекта создать функцию с аналогичным кодом так будет лучше в плане нагрузки и потреблении памяти? Просто с помощью обьекта удобнее работать и разделять код

warren buffet 01.10.2016 05:13

Цитата:

Сообщение от greenrow_ty
атрибут -псевдо массив нод

Премило. Вот как: свойство - живая коллекция элементов.

warren buffet 01.10.2016 05:19

Из какого года пишешь? Где тут нагрузка и потребление памяти? Фотка 800х600 схавает в 10 раз больше мемори, чем 100 твоих едиторов. Делай как хочешь и все. Я тоже не понял нафиг тут интерфейсы, если они все завязаны на ивенты. Понадобится интерфейс операционного управления - добавишь.

greenrow_ty 03.10.2016 10:06

Цитата:

Сообщение от warren buffet (Сообщение 430412)
Премило. Вот как: свойство - живая коллекция элементов.

согласен, неверно указал, имелось ввиду аргумент - node. А document.querySelectorAll(nodes) это не живая коллекция -статический NodeList (ссылка)

greenrow_ty 03.10.2016 11:09

Цитата:

Сообщение от warren buffet (Сообщение 430413)
Из какого года пишешь? Где тут нагрузка и потребление памяти? Фотка 800х600 схавает в 10 раз больше мемори, чем 100 твоих едиторов. Делай как хочешь и все. Я тоже не понял нафиг тут интерфейсы, если они все завязаны на ивенты. Понадобится интерфейс операционного управления - добавишь.

Спасиб за ответ) Опыт проектирования мало. Хочется чтобы код был как то логично составлен и его было удобно проектировать и расширять если необходимо.

Решил что не буду использовать this там где оно не нужно. Буду использовать обьект по паттерну 'модуль', он как раз подходи для этого и в нем уже навешаю обработчики и другую логику.

warren buffet 03.10.2016 20:54

Действительно non-live.

В классовой парадигме this - типа публичной проперти.


Часовой пояс GMT +3, время: 22:12.