Не тормози на пути в Веб-разработку
Ребята, знакомьтесь с другими нашими каналами, если еще не знакомы
Senior Frontend - здесь мы постим крутые примеры кода, статьи и викторины по фронтенду
Senior WebDev - здесь постим статьи и викторины для веб-разработчиков (js, css, node.js, sql)
Приятного просмотра 😉
Ребята, знакомьтесь с другими нашими каналами, если еще не знакомы
Senior Frontend - здесь мы постим крутые примеры кода, статьи и викторины по фронтенду
Senior WebDev - здесь постим статьи и викторины для веб-разработчиков (js, css, node.js, sql)
Приятного просмотра 😉
Что такое замыкание и как/для чего их используют?
Замыкание — это комбинация функции и лексического окружения, в которой эта функция была объявлена. Слово “лексический” относится к тому факту, что лексическая область видимости использует место, где переменная объявлена в исходном коде, чтобы определить, где эта переменная доступна. Замыкания — это функции, которые имеют доступ к переменным внешней (замыкающей) функции — цепочке областей видимости даже после того, как внешняя функция вернулась.
Для чего его используют?
Конфиденциальность данных / эмуляция скрытых методов при помощи замыканий. Обычно используется в модульном паттерне.
Частичное применение функций или каррирование.
Замыкание — это комбинация функции и лексического окружения, в которой эта функция была объявлена. Слово “лексический” относится к тому факту, что лексическая область видимости использует место, где переменная объявлена в исходном коде, чтобы определить, где эта переменная доступна. Замыкания — это функции, которые имеют доступ к переменным внешней (замыкающей) функции — цепочке областей видимости даже после того, как внешняя функция вернулась.
Для чего его используют?
Конфиденциальность данных / эмуляция скрытых методов при помощи замыканий. Обычно используется в модульном паттерне.
Частичное применение функций или каррирование.
Назовите основное различие между циклом forEach и циклом map?
Основное различие между .forEach и .map() состоит в том, что .map() возвращает новый массив. Если вам нужен результат, но вы не хотите изменять исходный массив, .map() — очевидный выбор. Если вам просто нужно перебрать массив, то стоит воспользоваться forEach.
Основное различие между .forEach и .map() состоит в том, что .map() возвращает новый массив. Если вам нужен результат, но вы не хотите изменять исходный массив, .map() — очевидный выбор. Если вам просто нужно перебрать массив, то стоит воспользоваться forEach.
Нули и единицы
Вам дан массив нулей и единиц. Интерпретируйте полученный массив как двоичное число и переведите его в десятичное.
Примеры:
Вам дан массив нулей и единиц. Интерпретируйте полученный массив как двоичное число и переведите его в десятичное.
Примеры:
Testing: [0, 0, 0, 1] ==> 1
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 0, 1] ==> 5
Testing: [1, 0, 0, 1] ==> 9
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 1, 0] ==> 6
Testing: [1, 1, 1, 1] ==> 15
Testing: [1, 0, 1, 1] ==> 11Какое значение свойства width у элемента section?
Anonymous Quiz
5%
0px
1%
120px
23%
30px
19%
60px
52%
300px
В чем разница между call и apply?
Сходство заключается в том, что и .call, и .apply используются для вызова функций, а также первый параметр будет использоваться как значение this внутри функции. А разница в том, что .call в качестве следующих аргументов принимает аргументы, разделенные запятыми, в то время как .apply в качестве следующих аргументов принимает массив аргументов.
Сходство заключается в том, что и .call, и .apply используются для вызова функций, а также первый параметр будет использоваться как значение this внутри функции. А разница в том, что .call в качестве следующих аргументов принимает аргументы, разделенные запятыми, в то время как .apply в качестве следующих аргументов принимает массив аргументов.
function add(a, b) {
return a + b;
}
console.log(add.call(null, 1, 2)); // 3
console.log(add.apply(null, [1, 2])); // 3Что делает и для чего нужна функция `Function.prototype.bind`?
Метод bind() создаёт новую функцию, которая при вызове устанавливает в качестве контекста выполнения this предоставленное значение. В метод также передаётся набор аргументов, которые будут установлены перед переданными в привязанную функцию аргументами при её вызове.
Метод bind() создаёт новую функцию, которая при вызове устанавливает в качестве контекста выполнения this предоставленное значение. В метод также передаётся набор аргументов, которые будут установлены перед переданными в привязанную функцию аргументами при её вызове.
let user = {
firstName: "Вася",
say(phrase) {
alert(`${phrase}, ${this.firstName}!`);
}
};
let say = user.say.bind(user);
say("Привет");
// Привет, Вася (аргумент "Привет" передан в функцию "say")
say("Пока");
// Пока, Вася (аргумент "Пока" передан в функцию "say")
По моему опыту, это наиболее полезно для привязки значения this в методах классов, которые вы хотите передать в другие функции. Это часто делается в компонентах React.Какое значение свойства line-height у элемента h1?
Anonymous Quiz
21%
48px
12%
24px
36%
32px
26%
2px
5%
16px
Объясните, что такое всплытие событий (event bubbling)
Когда событие срабатывает на элементе DOM, оно попытается обработать событие (если привязан обработчик), затем событие всплывет вверх к своему родителю и это повторится снова. Подобное всплытие проходит по всем предкам элемента вплоть до
Когда событие срабатывает на элементе DOM, оно попытается обработать событие (если привязан обработчик), затем событие всплывет вверх к своему родителю и это повторится снова. Подобное всплытие проходит по всем предкам элемента вплоть до
document. Всплытие событий является механизмом, на котором основано делегирование событий.Front-end. Клиентская разработка для профессионалов.
В книге “Front-end. Клиентская разработка для профессионалов” рассмотрены все важнейшие навыки работы с JavaScript, HTML5 и CSS3, требуемые серьезному разработчику, чтобы преуспеть в создании современного клиентского кода. Читатель быстро освоится с новыми инструментами и технологиями, с проверенными практиками, которые актуальны уже сегодня. В каждой главе рассматриваются важнейшие концепции и API, неотделимые от качественной веб-разработки, тщательно проверенные и отточенные в процессе решения реальных практических задач.
В книге “Front-end. Клиентская разработка для профессионалов” рассмотрены все важнейшие навыки работы с JavaScript, HTML5 и CSS3, требуемые серьезному разработчику, чтобы преуспеть в создании современного клиентского кода. Читатель быстро освоится с новыми инструментами и технологиями, с проверенными практиками, которые актуальны уже сегодня. В каждой главе рассматриваются важнейшие концепции и API, неотделимые от качественной веб-разработки, тщательно проверенные и отточенные в процессе решения реальных практических задач.