Не могу понять кусок кода

406
03 мая 2017, 11:07

Решил разобрать маленький фреймворк Sortable (для сортировки элементов на странице) и не могу понять небольшой кусок кода

(function Sortable (factory) {})(function sortableFactory() {})

Сам JavaScript более-менее знаю, а вот тут встал в ступор... Разжуйте идиоту, пожалуйста, как устроена логика в этом коде...

Answer 1

приведенный вами код смысла не имеет, он просто выполняет функцию Sortable с аргументом в виде другой функции, ничего не возвращает, ни какие переменные во внешних Scope не задает.

Но, если вы об этом: https://github.com/RubaXa/Sortable/blob/master/Sortable.js#L7

(function sortableModule(factory) {
    "use strict";
    if (typeof define === "function" && define.amd) {
        define(factory);
    }
    else if (typeof module != "undefined" && typeof module.exports != "undefined") {
        module.exports = factory();
    }
    else {
        /* jshint sub:true */
        window["Sortable"] = factory();
    }
})(function sortableFactory() { .....

то тут все просто, фабрика по какой-то причине должна быть инициализирована, она возвращает интерфейс для работы с модулем, т.к. у нас зоопарк модульных имплементаций, нужно этот интерфейс экспортировать для текущей системы модулей, она как-то там выбирается в анонимке, в результате в выбранную глобальную среду экспортируется только интерфейс.

Я бы так делать не стал, вместо этого я сделал бы просто npm модуль, а для браузера собрал бы webpack или browserify например. Это, кроме всего прочего, позволит использовать модульность и в самой библиотечке.

READ ALSO
БЭМ Не актуальная документация

БЭМ Не актуальная документация

Документация по синтаксису шаблонов, шаблонизатора bem-xjst, предикатыК первому подпредикату показан и объяснен пример, который не работает

276
Как начать массив в js с 1

Как начать массив в js с 1

То есть мне нужно что бы массив в js начинался не с 0, а с 1При этом не удаляю никаких элементов

312
Проверка наличия изображения

Проверка наличия изображения

Всем приветПодскажите, есть ли способ проверки ссылки на изображение через JS?

243
Как в react узнать координаты элемента по которому кликнули ? Относительно родительского элемента

Как в react узнать координаты элемента по которому кликнули ? Относительно родительского элемента

Как узнать координаты элемента по которому происходит клик относительно родительского элемента ?

644