muhammad_97
@muhammad_97
PHP-разработчик

Что делает этот код?

В файле установки October CMS (https://github.com/octobercms/install/blob/master/...) есть следующий код:

Installer.Events.next = function() {
    var nextButton = $('#nextButton')
    if (nextButton.hasClass('disabled'))
        return

    var pageEvent = Installer.Pages[Installer.ActivePage].next
    pageEvent && pageEvent()
}


Не понятны последние две строчки. Ведь метод next ничего не возвращает:

Installer.Pages.systemCheck.next = function() {
    Installer.showPage('configForm')
}


Какую роль они играют?
  • Вопрос задан
  • 309 просмотров
Решения вопроса 1
Denormalization
@Denormalization
Это небольшой хак для проверки существования функции и ее запуска.

// В pageEvent либо undefined либо функция
// Т.е мы не вызываем next, а копируем ее в pageEvent
var pageEvent = Installer.Pages[Installer.ActivePage].next

// Если pageEvent == undefined, то вторая часть условия не выполнится. Иначе будет запуск pageEvent()
pageEvent && pageEvent()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы