Показать сообщение отдельно
  #15 (permalink)  
Старый 20.06.2009, 20:50
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Riim, в любом случае - в скобках - (...) - может быть только FE.

Сообщение от LowCoder
JavaScript мне кажется "диким" языком
собственно, ровно то же самое, можно было сделать обычной FD:

function initDragMaster() {
    // private методы и свойства
    var dragObject
 
    function mouseDown(e) {
        клик на переносимом элементе: начать перенос
    }
 
    function mouseMove(e){
        if (dragObject) {
            отобразить перенос объекта
        }
    }
 
    function mouseUp(e){
        if (dragObject) {
            конец переноса
        }
    }
 
    // public методы и свойства    
    return {
        init: function() {
            // инициализовать контроллер
            document.onmousemove = mouseMove
            document.onmouseup = mouseUp
        },
 
        makeDraggable: function(element){
            // сделать элемент переносимым
            element.onmousedown = mouseDown
        }
    }
 
}

var dragMaster = initDragMaster();


Здесь есть основной минус - функция initDragMaster остаётся жить в глобальном пространстве, даже, когда она уже не нужна. Поэтому, обычно, для создания инициализующего скопа, и создают (анонимную) FE, которая выполнится сразу после создания и уничтожится (тем не менее, весь её внутренний контекст будет доступен в возвращённом объекте; но это уже тема про замыкания).

Сообщение от Riim
но в основном проблемы из-за прототипирования вместо стандартного ООП, т. е. основные проблемы у вас еще впереди.
Да ладно, не пугайте заранее Ничего там сложного нет. Не устану повторять, что разница "Класс" vs. "Прототип" не столь существенна, как "Статика" vs. "Динамика". Ну да, в случае с С++, будет казаться нечто странным поначалу. А, например, тем, кто пришел в JS из Python - что прототипы, что классы - особой разницы не заметят, т.к. Pyhton тоже полностью динамичный.
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 20.06.2009 в 21:01.
Ответить с цитированием