Converting 12-hour time to 24-hour time
Создайте функцию, которая принимает время в 12-часовом формате в виде трёх параметров (Часы, минуты, am/pm). И возвращает время в 24-часовом формате.
Примеры:
👉 @frontendInterview
Создайте функцию, которая принимает время в 12-часовом формате в виде трёх параметров (Часы, минуты, am/pm). И возвращает время в 24-часовом формате.
Примеры:
to24hourtime( 1, 0, "am") => "0100", "Input = 1:00 am"
to24hourtime( 1, 0, "pm") => "1300", "Input = 1:00 pm"
to24hourtime(12, 0, "am") => "0000", "Input = 12:00 am"
to24hourtime(12, 0, "pm") => "1200", "Input = 12:00 pm"
to24hourtime( 6, 30, "am") => "0630", "Input = 6:30 am"
to24hourtime( 9, 45, "pm") => "2145", "Input = 9:45 pm"👉 @frontendInterview
🤔4👍1
Расскажите как соотносятся с размером шрифта px, em и rem?
Пиксель px – это абсолютная единица измерения. 1px интерпретируется как 1/96 дюйма. Главное достоинство использования пикселей для определения размера – чёткость и понятность. Однако, пиксель является фиксированной величиной и не позволяет устанавливать соотношение между различными размерами.
В отличие от px, единицы em и rem – относительные величины.
При задании размера шрифта в em он считается относительно размера шрифта родительского блока.
1em равен размеру шрифта, установленному в родительском элементе.
Размер шрифта в rem рассчитывается относительно размера шрифта корневого элемента. Для веб-страницы это <html>.
👉 @frontendInterview
Пиксель px – это абсолютная единица измерения. 1px интерпретируется как 1/96 дюйма. Главное достоинство использования пикселей для определения размера – чёткость и понятность. Однако, пиксель является фиксированной величиной и не позволяет устанавливать соотношение между различными размерами.
В отличие от px, единицы em и rem – относительные величины.
При задании размера шрифта в em он считается относительно размера шрифта родительского блока.
1em равен размеру шрифта, установленному в родительском элементе.
Размер шрифта в rem рассчитывается относительно размера шрифта корневого элемента. Для веб-страницы это <html>.
👉 @frontendInterview
🔥4
Укажите результат исполнения кода
Anonymous Quiz
8%
{ a: "one", b: "two" }
30%
{ b: "two", a: "three" }
34%
{ a: "three", b: "two" }
28%
Error
👍29👎3❤1
Почему typeof null возвращает object?
В JavaScript,
Причина, по которой
На самом деле, в начальной версии JavaScript, null был представлен в виде 0 в памяти и интерпретировался как указатель на объект. В этом случае, вернув "object" при typeof null, создатели JavaScript дали возможность понять, что значение является "пустой ссылкой", указывающей на отсутствие объекта.
👉 @frontendInterview
В JavaScript,
typeof null возвращает строку "object", что может показаться странным, поскольку null является специальным значением, обозначающим отсутствие значения или пустую ссылку.Причина, по которой
typeof null возвращает "object", связана с историческими особенностями реализации JavaScript в браузерах.На самом деле, в начальной версии JavaScript, null был представлен в виде 0 в памяти и интерпретировался как указатель на объект. В этом случае, вернув "object" при typeof null, создатели JavaScript дали возможность понять, что значение является "пустой ссылкой", указывающей на отсутствие объекта.
👉 @frontendInterview
👍16👎3
👍12👎1😱1
Почему не стоит использовать краткую запись свойств CSS?
Anonymous Quiz
75%
Краткая запись свойств может привести к неожиданным результатам и поведению.
6%
Краткая запись свойств делает код более читаемым и легким для понимания.
11%
Краткая запись свойств увеличивает производительность рендеринга веб-страницы.
8%
Краткая запись свойств позволяет сохранить меньший размер файла CSS.
👎21👍4
Что такое ArrayBuffer? В чем разница между Uint32Array и Float32Array? Каким будет результат выполнения кода?
Теперь рассмотрим код:
При вызове
Вместо использования
👉 @frontendInterview
const uint32Array = new Uint32Array();
Array.isArray(uint32Array);
ArrayBuffer - это объект в JavaScript, представляющий собой буфер памяти, который содержит определенное количество байтов. Он служит основой для создания "представлений" данных, таких как типизированные массивы в JavaScript.Uint32Array и Float32Array являются различными типами типизированных массивов, которые предоставляют доступ и манипуляцию данными в ArrayBuffer. Главная разница между ними заключается в типе элементов, которые они содержат: Uint32Array содержит беззнаковые 32-битные целые числа (unsigned 32-bit integers), а Float32Array содержит 32-битные числа с плавающей запятой (floating-point numbers).Теперь рассмотрим код:
const uint32Array = new Uint32Array();Результат выполнения данного кода будет
Array.isArray(uint32Array);
false. При вызове
Array.isArray(uint32Array) мы проверяем, является ли uint32Array массивом. Однако, Uint32Array является типизированным массивом и не наследует стандартное поведение JavaScript-массивов. Он имеет свои особенности и методы специфичные для типизированных массивов.Вместо использования
Array.isArray, мы можем использовать uint32Array instanceof Uint32Array для проверки типа объекта uint32Array и узнать, что он является экземпляром Uint32Array.👉 @frontendInterview
👍7🔥4❤2
First Course in Algorithms Through Puzzles (2019)
Этот учебник знакомит с основными алгоритмами и объясняет их аналитические методы. Все алгоритмы и методы, представленные в этой книге, хорошо известны и часто используются в реальных программах. Книга начинается с базовых моделей, и никаких предварительных знаний не требует. Эта книга подходит для студентов старших курсов технических направлений, а также для самостоятельного изучения начинающими специалистами, интересующимися увлекательной областью алгоритмов.
Более 40 упражнений разного уровня сложности. Решения и комментарии ко всем упражнениям приводятся в последней главе.
👉 @frontendInterview
Этот учебник знакомит с основными алгоритмами и объясняет их аналитические методы. Все алгоритмы и методы, представленные в этой книге, хорошо известны и часто используются в реальных программах. Книга начинается с базовых моделей, и никаких предварительных знаний не требует. Эта книга подходит для студентов старших курсов технических направлений, а также для самостоятельного изучения начинающими специалистами, интересующимися увлекательной областью алгоритмов.
Более 40 упражнений разного уровня сложности. Решения и комментарии ко всем упражнениям приводятся в последней главе.
👉 @frontendInterview
👍5
Split Strings
Создайте функцию, которая принимает строку и разбивает эту строку на массив пар символов. Если последнему символу не хватает пары, то к нему добавляется ('_').
Примеры:
👉 @frontendInterview
Создайте функцию, которая принимает строку и разбивает эту строку на массив пар символов. Если последнему символу не хватает пары, то к нему добавляется ('_').
Примеры:
'abc' => ['ab', 'c_']
'abcdef' => ['ab', 'cd', 'ef']👉 @frontendInterview
Как определить, чему равен this в функции?
Задайте себе следующие вопросы в указанном порядке и остановитесь, когда найдете первое подходящее правило.
1. Функция вызвана с new (связывание new)? Если да, то this содержит новый сконструированный объект.
Вот и все. Вот и все, что необходимо для понимания правил связывания this для нормальных вызовов функций.
👉 @frontendInterview
Задайте себе следующие вопросы в указанном порядке и остановитесь, когда найдете первое подходящее правило.
1. Функция вызвана с new (связывание new)? Если да, то this содержит новый сконструированный объект.
var bar = new foo()2. Функция вызвана с call или apply (явное связывание), даже скрытыми в жесткой привязке bind? Если да, то this содержит явно заданный объект.
var bar = foo.call( obj2 )
3. Функция вызвана с контекстом (неявное связывание), также называемым объектом-владельцем или содержащим объектом? Если да, то this содержит контекстный объект.var bar = obj1.foo()4. В остальных случаях используется this по умолчанию (привязка по умолчанию). Если действует режим strict, выбирается undefined, а если нет — глобальный объект:
var bar = foo()Нормальные функции подчиняются четырем описанным правилам. Но в ES6 появилась особая разновидность функций, которая не использует эти правила: стрелочные функции. Стрелочные функции обозначаются не ключевым словом function, а так называемым оператором «толстой стрелки» =>. Вместо четырех стандартных правил this стрелочные функции принимают связывание this от внешней области видимости (функциональной или глобальной).
Вот и все. Вот и все, что необходимо для понимания правил связывания this для нормальных вызовов функций.
👉 @frontendInterview
👍15👎2❤1
Каков результат выполнения этого кода?
Anonymous Quiz
16%
undefined
7%
Error
2%
null
74%
{ model: "Honda", country: "UK" }
🥰3
Как запретить браузеру отдавать кэш на HTTP-запрос?
Для запрета браузеру отдавать кэш на HTTP-запросы вы можете использовать заголовок
Этот заголовок указывает браузеру отключать кэширование и требовать полное проверка соответствия по каждому запросу. Таким образом, браузер будет обязан выполнять запрос к серверу, даже если есть закэшированная версия ресурса.
Вот пример того, как добавить заголовок
👉 @frontendInterview
Для запрета браузеру отдавать кэш на HTTP-запросы вы можете использовать заголовок
Cache-Control с указанием значения no-cache.Этот заголовок указывает браузеру отключать кэширование и требовать полное проверка соответствия по каждому запросу. Таким образом, браузер будет обязан выполнять запрос к серверу, даже если есть закэшированная версия ресурса.
Вот пример того, как добавить заголовок
Cache-Control с помощью JavaScript: fetch(url, {
headers: {
'Cache-Control': 'no-cache'
}
})
.then(response => {
// Обработка ответа от сервера
})
.catch(error => {
// Обработка ошибок
});
Если вы используете серверный язык или фреймворк, такие как Node.js или Express, вы также можете добавить заголовок Cache-Control на стороне сервера. Вот пример использования Express: app.get('/', function(req, res) {
res.header('Cache-Control', 'no-cache');
// Отправка ответа клиенту
});
Обратите внимание, что помимо Cache-Control, также есть и другие заголовки, которые могут влиять на поведение кэширования, такие как Expires и Pragma.👉 @frontendInterview
🧐Устали от ошибок? Позаботьтесь о чистоте архитектуры!
👉Узнайте как на бесплатном вебинаре онлайн-курса «Clojure Developer» — «Duct и Clean Architecture в Clojure»: регистрация
На уроке мы:
— попрактикуемся применять принципы чистой архитектуры с использованием языка программирования Clojure и фреймворка Duct.
— познакомимся с его модульной системой, реализуем DI контейнер, подключим адаптеры во все порты и вообще сделаем все, как дедушка Боб нам завещал))
Экспертизой поделится руководитель программы и практик Сергей Ткаченко (Clojure Software developer / Team Lead).
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KTbxG
👉Узнайте как на бесплатном вебинаре онлайн-курса «Clojure Developer» — «Duct и Clean Architecture в Clojure»: регистрация
На уроке мы:
— попрактикуемся применять принципы чистой архитектуры с использованием языка программирования Clojure и фреймворка Duct.
— познакомимся с его модульной системой, реализуем DI контейнер, подключим адаптеры во все порты и вообще сделаем все, как дедушка Боб нам завещал))
Экспертизой поделится руководитель программы и практик Сергей Ткаченко (Clojure Software developer / Team Lead).
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KTbxG
👍2
Чему равен 'this' в функции-обработчике события?
Anonymous Quiz
10%
null
16%
e
34%
e.currentTarget
40%
window
👍10🤔7❤1👏1