Перечислите специальные числовые значения в JS.
В JavaScript имеется предопределённая глобальная переменная Infinity. Она хранит специальное значение обозначающее бесконечность – Infinity. Эта переменная доступна только для чтения.
Значение Infinity можно получить:
1. В результате деления числа на 0.
2. Если результат вычислений, не попадает в допустимый диапазон чисел JavaScript.
3. Любое отрицательное число, которое не может быть представлено, считается отрицательной бесконечностью (-Infinity), а положительное – положительной бесконечностью (Infinity).
Значение NaN используется для обозначения математической ошибки, которая возникает в том случае, если математическая операция не может быть совершена:
👉 @frontendInterview
В JavaScript имеется предопределённая глобальная переменная Infinity. Она хранит специальное значение обозначающее бесконечность – Infinity. Эта переменная доступна только для чтения.
Значение Infinity можно получить:
1. В результате деления числа на 0.
2. Если результат вычислений, не попадает в допустимый диапазон чисел JavaScript.
3. Любое отрицательное число, которое не может быть представлено, считается отрицательной бесконечностью (-Infinity), а положительное – положительной бесконечностью (Infinity).
alert(123 / 0); // Infinity
alert(-12345 / 0); // -Infinity
alert(1e500); // Infinity
alert(1 - 1e500); // -Infinity
Также, в JavaScript имеется предопределённая глобальная переменная NaN. Она хранит специальное значение NaN. Эта переменная доступна только для чтения.Значение NaN используется для обозначения математической ошибки, которая возникает в том случае, если математическая операция не может быть совершена:
var a = 10, b = "текст";
document.write(a - b); // Операнд не может быть преобразован в число
document.write(0 / 0); // Деление нуля на нуль👉 @frontendInterview
Через дорогу
Вдоль дороги, слева и справа стоят дома. Известно, по какому принципу они нумеруются. С левой стороны находятся нечетные по возрастанию. С правой - четные по убыванию.
Примеры:
👉 @frontendInterview
Вдоль дороги, слева и справа стоят дома. Известно, по какому принципу они нумеруются. С левой стороны находятся нечетные по возрастанию. С правой - четные по убыванию.
1| |6
3| |4
5| |2
Ваша задача, по заданному номеру дома и длине улицы определить номер дома напротив.Примеры:
overTheRoad(address, n)
overTheRoad(1, 3) = 6
overTheRoad(3, 3) = 4
overTheRoad(2, 3) = 5
overTheRoad(3, 5) = 8👉 @frontendInterview
Какое предназначение файла package-lock.json?
package-lock.json автоматически создается для любых операций, когда npm изменяет дерево node modules или package.json. Он описывает точное дерево, которое было сгенерировано, так что последующие установки могут генерировать идентичные деревья, независимо от промежуточных обновлений зависимостей.
👉 @frontendInterview
package-lock.json автоматически создается для любых операций, когда npm изменяет дерево node modules или package.json. Он описывает точное дерево, которое было сгенерировано, так что последующие установки могут генерировать идентичные деревья, независимо от промежуточных обновлений зависимостей.
👉 @frontendInterview
Что такое запросы между источниками и CDN?
Запросы из разных источников, отправленные в другой домен (даже субдомен), протокол или порт требуют специальных заголовков с удаленной стороны. Эта политика называется «CORS»: совместное использование ресурсов между источниками.
CDN (сеть доставки контента) – это группа серверов, расположенных во многих местах. Эти серверы хранят дублированные копии данных, чтобы серверы могли выполнять запросы данных в зависимости от того, какие серверы находятся ближе всего к соответствующим конечным пользователям. CDN обеспечивают быстрое обслуживание и меньше подвержены влиянию высокого трафика.
👉 @frontendInterview
Запросы из разных источников, отправленные в другой домен (даже субдомен), протокол или порт требуют специальных заголовков с удаленной стороны. Эта политика называется «CORS»: совместное использование ресурсов между источниками.
CDN (сеть доставки контента) – это группа серверов, расположенных во многих местах. Эти серверы хранят дублированные копии данных, чтобы серверы могли выполнять запросы данных в зависимости от того, какие серверы находятся ближе всего к соответствующим конечным пользователям. CDN обеспечивают быстрое обслуживание и меньше подвержены влиянию высокого трафика.
👉 @frontendInterview
Какая запись эквивалентна записи flex: none?
Anonymous Quiz
6%
flex: 1 1 auto;
30%
flex: 0 0 auto;
6%
flex: 1 0 auto;
7%
flex: 0 1 auto;
50%
flex: 0 0 0;
Что такое именованная функция в JavaScript и как ее определить?
Named Function Expression или NFE – это термин для Function Expression, у которого есть имя.
Например, давайте объявим Function Expression:
Для начала заметим, что функция всё ещё задана как Function Expression. Добавление "func" после function не превращает объявление в Function Declaration, потому что оно все ещё является частью выражения присваивания.
Добавление такого имени ничего не ломает.
Функция все ещё доступна как sayHi():
1. Оно позволяет функции ссылаться на себя же.
2. Оно не доступно за пределами функции.
Named Function Expression или NFE – это термин для Function Expression, у которого есть имя.
Например, давайте объявим Function Expression:
let sayHi = function(who) {
alert(`Hello, ${who}`);
};
И присвоим ему имя: let sayHi = function func(who) {
alert(`Hello, ${who}`);
};
Чего мы здесь достигли? Какова цель этого дополнительного имени func?Для начала заметим, что функция всё ещё задана как Function Expression. Добавление "func" после function не превращает объявление в Function Declaration, потому что оно все ещё является частью выражения присваивания.
Добавление такого имени ничего не ломает.
Функция все ещё доступна как sayHi():
let sayHi = function func(who) {
alert(`Hello, ${who}`);
};
sayHi("John"); // Hello, John
Есть две важные особенности имени func, ради которого оно даётся:1. Оно позволяет функции ссылаться на себя же.
2. Оно не доступно за пределами функции.
Getting Started with React VR
Эта книга является практическим руководством по разработке VR-приложений, используя React VR, с основным упором на браузеры. В ней описывается процесс создания 3D-графики с использованием Three.js, а также работа с библиотекой ReactVR для создания реалистичных объектов в виртуальной реальности. К концу чтения книги вы получите глубокие знания работы с виртуальной реальностью и полноценное рабочее VR-приложение.
👉 @frontendInterview
Эта книга является практическим руководством по разработке VR-приложений, используя React VR, с основным упором на браузеры. В ней описывается процесс создания 3D-графики с использованием Three.js, а также работа с библиотекой ReactVR для создания реалистичных объектов в виртуальной реальности. К концу чтения книги вы получите глубокие знания работы с виртуальной реальностью и полноценное рабочее VR-приложение.
👉 @frontendInterview
Настоящий этаж
Американцы - странные люди и этажи у них нумеруются не как у людей. Первый этаж у них является нулевым и отсутствует 13 этаж из-за суеверий. Создайте функцию, которая будет переводить номер этажа из американской системы в европейскую.
Примеры:
Американцы - странные люди и этажи у них нумеруются не как у людей. Первый этаж у них является нулевым и отсутствует 13 этаж из-за суеверий. Создайте функцию, которая будет переводить номер этажа из американской системы в европейскую.
Примеры:
1 => 0
0 => 0
5 => 4
15 => 13
-3 => -3
👉 @frontendInterviewBeginning Progressive Web App Development
Современные веб-технологии предоставляют огромный набор инструментов, библиотек и фреймворков, способные сделать ваши приложения эффективными и надёжными. Благодаря примерам из книги вы научитесь улучшать производительность, доступность и адаптивность ваших приложений на любых устройствах. Из рассмотренных в книге технологий будут React, Vue.js, Angular, Ionic и многие другие. Также вы научитесь работать с API и уведомлениями.
👉 @frontendInterview
Современные веб-технологии предоставляют огромный набор инструментов, библиотек и фреймворков, способные сделать ваши приложения эффективными и надёжными. Благодаря примерам из книги вы научитесь улучшать производительность, доступность и адаптивность ваших приложений на любых устройствах. Из рассмотренных в книге технологий будут React, Vue.js, Angular, Ionic и многие другие. Также вы научитесь работать с API и уведомлениями.
👉 @frontendInterview
Объясните делегирование событий.
Делегирование событий — это приём, заключающийся в добавлении обработчиков событий к родительскому элементу, а не к дочерним элементам. Обработчик будет срабатывать всякий раз, когда событие будет запущено на дочерних элементах благодаря всплытию событий в DOM.
Преимущества этого приёма:
1. Экономит объем используемой памяти, т.к. для родительского элемента требуется только один обработчик.
2. Не нужно привязывать или убирать обработчики при добавлении и удалении элементов.
👉 @frontendInterview
Делегирование событий — это приём, заключающийся в добавлении обработчиков событий к родительскому элементу, а не к дочерним элементам. Обработчик будет срабатывать всякий раз, когда событие будет запущено на дочерних элементах благодаря всплытию событий в DOM.
Преимущества этого приёма:
1. Экономит объем используемой памяти, т.к. для родительского элемента требуется только один обработчик.
2. Не нужно привязывать или убирать обработчики при добавлении и удалении элементов.
👉 @frontendInterview
Что выведется в консоль в строгом режиме?
Anonymous Quiz
33%
20
7%
null
26%
undefined
34%
Выведется ошибка
Объясните, как this работает в JavaScript
Нельзя в двух словах объяснить работу ключевого слова this; это одно из самых запутанных понятий в JavaScript. Говоря максимально простым языком, значение this зависит от того, как вызывается функция.
Применяются следующие правила:
1. Если ключевое слово new используется при вызове функции, this внутри функции является совершенно новым объектом.
2. Если для вызова/создания функции используются apply, call или bind, то this внутри функции — это объект, который передается в качестве аргумента.
3. Если функция вызывается как метод, например, obj.method(), то this — это объект, к которому принадлежит функция.
4. Если функция вызывается без контекста, то есть она вызывается без условий, описанных в пунктах выше, то this является глобальным объектом. В браузере это объект window. В строгом режиме (’use strict’), this будет undefined вместо глобального объекта.
5. Если применяются несколько из вышеперечисленных правил, то правило, которое выше выигрывает и устанавливает значение this.
6. Если функция является стрелочной функцией, то она игнорирует все вышеописанные правила и получает значение this из лексического окружения во время ее создания.
👉 @frontendInterview
Нельзя в двух словах объяснить работу ключевого слова this; это одно из самых запутанных понятий в JavaScript. Говоря максимально простым языком, значение this зависит от того, как вызывается функция.
Применяются следующие правила:
1. Если ключевое слово new используется при вызове функции, this внутри функции является совершенно новым объектом.
2. Если для вызова/создания функции используются apply, call или bind, то this внутри функции — это объект, который передается в качестве аргумента.
3. Если функция вызывается как метод, например, obj.method(), то this — это объект, к которому принадлежит функция.
4. Если функция вызывается без контекста, то есть она вызывается без условий, описанных в пунктах выше, то this является глобальным объектом. В браузере это объект window. В строгом режиме (’use strict’), this будет undefined вместо глобального объекта.
5. Если применяются несколько из вышеперечисленных правил, то правило, которое выше выигрывает и устанавливает значение this.
6. Если функция является стрелочной функцией, то она игнорирует все вышеописанные правила и получает значение this из лексического окружения во время ее создания.
👉 @frontendInterview