Задать вопрос
  • Как растянуть фон на всю высоту?

    @webdev27
    Была похожая проблема, решилась она этим свойством min-height: 100vh

    body {
    background: url(../bg.jpg) no-repeat;
    background-size: cover;
    min-height: 100vh;
    }
    Ответ написан
    2 комментария
  • Для чего нужны замыкания (js)?

    AlexMaxTM
    @AlexMaxTM
    Ну если доступным, языком, то тогда на примере.
    Например, надо выводить в лог сообщение, а также номер строки и время прошедшее с момента зарузки страницы.

    Если не использовать замыкание, то надо определить следующую функцию
    function log(timespan, lineNumber, msg) { 
       console.log(linNumber + " " + timespan + " " + msg;
    }

    и две переменные
    var start = Date.now();
    var lineNumber = 1;

    Вызываем log так
    log(Date.now()-start, lineNumber++, "один");
    log(Date.now()-start, lineNumber++, "два");

    Очевидно, что это неудобно.

    Если использовать замыкание, то пишем так
    var log = (function () {    // функция 1
       var start = Date.now();  // текущее значение сохранятся в start 
       var num = 1;             // также используется в замыкании в функции 2. 
       return function (msg) {  // функция 2 - сохраняется в var log
          console.log(num++ + " " + (Date.now()-start) + " " + msg);
       }
    })();    // () -- вызываем функцию 1

    Вызываем так
    log("один");
    log("два");

    Результат
    lineNumber   timespan     msg
    ------------------------------
    1            0            один
    2            1            два

    Т.е. замыкание — это способ передачи данных в функцию.

    Подробнее о замыканиях см Mozilla Developer Network
    Примет взят отсюда
    Ответ написан
    Комментировать
  • Чем конструктор отличается от метода?

    @paultwik
    Как уже говорилось ранее конструктор это метод, вызывающийся для создания экземпляра объекта, не содержит возвращаемого значения. Его можно использовать только с оператором new, он также может быть без аргументов (конструктор по умолчанию или дефолтный) или с ними, также конструктор нельзя передать ни в один метод, но вам стоит почитать про this и base, они часто применяются к конструкторам, если есть перегрузка или наследование. Но также он делится на два типа статический (не используется для создания, а лишь к нему подготавливает - т.е. устанавливает значения свойств, переменных, которые вы либо явно указали, либо их значения по умолчанию) - он не может иметь аргументов, а значит и перегрузок, а также методов доступа (указывается без него), вызывается в неявном виде перед любым другим конструктором объекта и нестатический - тот, что указывается в new с аргументами или без, а также с методами доступа. Конструктор без аргументов может быть использован в ограничениях, потому его отделяют в понятиях. Это бывает важным например для создания окон и любых форм.
    Ответ написан
    Комментировать
  • Чем конструктор отличается от метода?

    Конструктор - специальный метод, который призван создавать экземпляры класса или структуры. У него нет возвращаемого значения (неявный void).
    Дефолтный конструктор - конструктор без аргументов.

    Метод тоже может создавать новый экземпляр, но его нельзя вызвать через оператор new .... ().

    Условно:
    Конструктор - метод для создания экземпляра.
    Метод - это поведение созданных экземпляров.

    var a = new Constructor();
    a.Method();

    https://docs.microsoft.com/ru-ru/dotnet/csharp/pro...
    Ответ написан
    Комментировать