✅ Вопрос с собеседования
Что такое switch/case в JavaScript?
Ответ:
Switch/case — это конструкция в JavaScript, которая позволяет выбирать между несколькими вариантами выполнения кода в зависимости от значения выражения.
1. Выражение в switch может быть любым выражением, которое возвращает значение. Значения case должны быть константами или литералами.
• Когда выполняется switch, JavaScript сравнивает значение выражения с каждым значением case.
• Если значение выражения совпадает с каким-либо значением case, то выполняется код в этом блоке case.
• Если ни один из блоков case не совпадает, то выполняется код в блоке default (если он есть).
2. Ключевое слово break используется для прерывания выполнения switch после выполнения кода в соответствующем блоке case.
• Если break не использовать, то выполнение кода будет продолжаться и в следующих блоках case, даже если они не совпадают со значением выражения.
👉 @code_ready | #собеседование
Что такое switch/case в JavaScript?
Ответ:
1. Выражение в switch может быть любым выражением, которое возвращает значение. Значения case должны быть константами или литералами.
• Когда выполняется switch, JavaScript сравнивает значение выражения с каждым значением case.
• Если значение выражения совпадает с каким-либо значением case, то выполняется код в этом блоке case.
• Если ни один из блоков case не совпадает, то выполняется код в блоке default (если он есть).
2. Ключевое слово break используется для прерывания выполнения switch после выполнения кода в соответствующем блоке case.
• Если break не использовать, то выполнение кода будет продолжаться и в следующих блоках case, даже если они не совпадают со значением выражения.
👉 @code_ready | #собеседование
👍27🔥9
✅ Методы Set в JavaScript
Set – это коллекция уникальных значений любого типа данных. Используется для хранения уникальных элементов в произвольном порядке.
👉 @code_ready | #шпаргалка
Set – это коллекция уникальных значений любого типа данных. Используется для хранения уникальных элементов в произвольном порядке.
👉 @code_ready | #шпаргалка
🔥25👍12
✅ Создание неонового текста
При правильном использовании, неоновое свечение добавляет приятные футуристические нотки дизайну сайта, при этом магию неоновых вывесок можно воссоздать с помощью CSS.
К text-shadow мы можем применить к нему несколько теней, просто разделив их запятыми.
👉 @code_ready | #обучение #css
При правильном использовании, неоновое свечение добавляет приятные футуристические нотки дизайну сайта, при этом магию неоновых вывесок можно воссоздать с помощью CSS.
К text-shadow мы можем применить к нему несколько теней, просто разделив их запятыми.
body {
background-color: #000;
}
h1 {
font-size: 100px;
color: #fff;
text-transform: uppercase;
font-family: sans-serif;
text-shadow: 0 0 5px #ffffff, 0 0 10px #ffffff, 0 0 20px #ffffff, 0 0 40px #b303f8, 0 0 80px #b303f8, 0 0 90px #b303f8, 0 0 100px #b303f8, 0 0 150px #b303f8;
text-align: center;
}
👉 @code_ready | #обучение #css
🔥35👍11
✅ Дополнительные фильтры для картинок
Свойство filter в CSS предлагает еще несколько фильтров, которые можно применить к изображениям.
• Атрибут opacity изменяет прозрачность изображения. Он принимает значения от 0 (полностью прозрачно) до 1 (полностью непрозрачно).
• Атрибут hue-rotate позволяет вращать цветовой круг изображения, тем самым изменяя его цвет. Он принимает значения в градусах (deg).
Эти фильтры можно использовать по отдельности или комбинировать для создания различных визуальных эффектов.
👉 @code_ready | #свойство #css
Свойство filter в CSS предлагает еще несколько фильтров, которые можно применить к изображениям.
• Атрибут opacity изменяет прозрачность изображения. Он принимает значения от 0 (полностью прозрачно) до 1 (полностью непрозрачно).
• Атрибут hue-rotate позволяет вращать цветовой круг изображения, тем самым изменяя его цвет. Он принимает значения в градусах (deg).
Эти фильтры можно использовать по отдельности или комбинировать для создания различных визуальных эффектов.
👉 @code_ready | #свойство #css
🔥22👍14
✅ Вопрос с собеседования
Разница между event.target и event.currentTarget?
Ответ:
В JavaScript, при обработке событий, объект event предоставляет нам доступ к различным свойствам и методам, связанным с этим событием.
Свойства event.target и event.currentTarget часто путают, но между ними есть существенная разница:
1. event.target :
— Это ссылка на элемент, на котором произошло событие. То есть, это фактический элемент, который вызвал событие.
— event.target будет ссылаться на элемент button, если кликнуть по нему, так как именно он вызвал событие.
2. event.currentTarget
— Это ссылка на элемент, на котором обработчик события был прикреплен. То есть, это элемент, который мы использовали для прикрепления обработчика события.
— event.currentTarget будет ссылаться на элемент div, так как именно на него мы прикрепили обработчик события.
👉 @code_ready | #собеседование
Разница между event.target и event.currentTarget?
Ответ:
Свойства
— Это ссылка на элемент, на котором произошло событие. То есть, это фактический элемент, который вызвал событие.
—
2. event.currentTarget
— Это ссылка на элемент, на котором обработчик события был прикреплен. То есть, это элемент, который мы использовали для прикрепления обработчика события.
— event.currentTarget будет ссылаться на элемент div, так как именно на него мы прикрепили обработчик события.
В примере кода видно, что при клике на кнопку внутри div, event.target будет ссылаться на элемент button, а event.currentTarget на элемент div.
👉 @code_ready | #собеседование
👍49🔥9
This media is not supported in your browser
VIEW IN TELEGRAM
✅ Адаптивное меню с анимацией "бургер"
Пользователи сайта могут иметь разную ширину экрана, так как же дать всем удобный доступ к меню сайта?
Для таких случаев используют анимацию бургер, она сворачивает все меню в 1 значок, который при нажатии разворачивает его вертикально
В меню так же реализовано изменение цвета при наведении
😸 Готовый код для этого примера, я оставлю в моем репозитории на GitHub
👉 @code_ready | #github
Пользователи сайта могут иметь разную ширину экрана, так как же дать всем удобный доступ к меню сайта?
Для таких случаев используют анимацию бургер, она сворачивает все меню в 1 значок, который при нажатии разворачивает его вертикально
В меню так же реализовано изменение цвета при наведении
👉 @code_ready | #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥10
👍22🔥7
Функция Map.entries() возвращает новый итератор, который содержит массивы [ключ, значение] для каждой пары элементов в объекте map, в порядке их добавления в объект.
Этот метод может быть полезен, когда нужно пройтись по всем элементам объекта Map и выполнить какое-либо действие с каждой парой.
Map.entries() возвращает итератор, а не массив, для массива в результате стоит использовать другие методы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Автоматическая генерация рандомной капчи, присутствует проверка на правильность ввода кода.
Готовый код: Ссылочка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥7👎2
This media is not supported in your browser
VIEW IN TELEGRAM
✅ Исправление орфографических ошибок
Code Spell Checker — это расширение для VSCode.
Цель которого проверка орфографии и помощь выявить распространенные орфографические ошибки, далее исправить их.
➡️ @code_ready | #плагин
Code Spell Checker — это расширение для VSCode.
Цель которого проверка орфографии и помощь выявить распространенные орфографические ошибки, далее исправить их.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37🔥7
Как реализованы принципы ООП в JavaScript, приведите примеры
Ответ:
function Counter() {
let count = 0;
this.increment = function() {
count++;
};
this.getCount = function() {
return count;
};
}
const counter = new Counter();
counter.increment();
console.log(counter.getCount()); // 1
console.log(counter.count); // undefined
2. Наследование — возможность создавать новые классы на основе существующих. В JS наследование реализуется с помощью прототипов. Объект может наследовать свойства и методы от другого объекта, который называется его прототипом.
function Animal(name) {
this.name = name;
}
Animal.prototype.sayName = function() {
console.log(`My name is ${this.name}`);
};
function Cat(name) {
Animal.call(this, name);
}
Cat.prototype = Object.create(Animal.prototype);
Cat.prototype.constructor = Cat;
const cat = new Cat('Tom');
cat.sayName(); // My name is Tom
3. Полиморфизм — возможность использовать один и тот же интерфейс для разных типов данных. В JS полиморфизм реализуется с помощью переопределения методов и динамического типирования.
function drawShape(shape) {
if (shape.type === 'circle') {
console.log('Drawing a circle');
} else if (shape.type === 'square') {
console.log('Drawing a square');
}
}
const circle = { type: 'circle' };
const square = { type: 'square' };
drawShape(circle); // Рисуем круг
drawShape(square); // Рисуем квадрат
4. Абстракция — способность скрывать детали реализации и предоставлять только необходимый интерфейс. В JS абстракция достигается с помощью интерфейсов и абстрактных классов.
function createAnimal(name, sound) {
return {
name: name,
makeSound: function() {
console.log(sound);
}
};
}
const cat = createAnimal('Cat', 'Meow');
const dog = createAnimal('Dog', 'Woof');
cat.makeSound(); // Meow
dog.makeSound(); // Woof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥18😁1
С помощью свойства mix-blend-mode, можно изменять способ смешивания цветов элемента с его фоновым изображением или цветом.
Принимает следующие значения:
• normal - элемент не смешивается с фоном (по умолчанию)
• multiply - умножение цвета элемента на цвет фона
• screen - инвертирование умножения инверсии цвета элемента на инверсию цвета фона
• overlay - смешивание multiply и screen, в зависимости от прозрачности элемента
• darken - использует более темный цвет из элемента или фона
• lighten - использует более светлый цвет из элемента или фона
• color-dodge - уменьшает насыщенность цвета фона в соответствии с цветом элемента
• color-burn - увеличивает насыщенность цвета фона в соответствии с цветом элемента
Остальные принимаемые значения оставлю в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥8
Метод Object.create cоздает новый объект с указанным прототипом и свойствами.
Он принимает два аргумента: первый — объект, который будет прототипом для нового объекта.
Второй — необязательный, объект, содержащий свойства и их дескрипторы, которые будут добавлены в новый объект.
Если первый аргумент не передан или равен null, то новый объект будет создан с Object.prototype в качестве прототипа.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
Пользователь может загрузить файл, перетащив его на выделенную область на сайте либо выбрать файл через стандартный диалог открытия файла операционной системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍13👎1
📄 Примитивы в JavaScript - это миф?
В данной статье разберем как в JavaScript реализованы примитивные типы данных.
На примерах с графиками сравним выделения памяти для них и придем к неочевидному выводу
⛓ Ссылочка: https://habr.com/ru/articles/824614/
➡️ @code_ready | #статья
В данной статье разберем как в JavaScript реализованы примитивные типы данных.
На примерах с графиками сравним выделения памяти для них и придем к неочевидному выводу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
Doka — это полезный сайт для веб-разработчиков, предоставляющий исчерпывающие руководства и справочники по HTML, CSS и JavaScript.
⛓ Ссылочка: https://doka.guide/
➡️ @code_ready | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥12
Как реализовать асинхронное программирование в JavaScript?
Ответ:
// Функция с колбэком
function fetchData(callback) {
setTimeout(() => {
callback('Data received');
}, 1000);
}
fetchData(data => {
console.log(data); // Data received
});
// Функция возвращает промис
function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('Data received');
}, 1000);
});
}
fetchData().then(data => {
console.log(data); // Data received
});
// Функция возвращает промис
function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('Data received');
}, 1000);
});
}
// Асинхронная функция с await
async function getData() {
const data = await fetchData();
console.log(data); // Data received
}
getData();
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥7
✅ Как работает Array,map() в JS?
Функция Array,map: Создает новый массив путем вызова указанной функции для каждого элемента исходного массива и собирает результаты в новый массив.
Она принимает один обязательный аргумент — это функция обратного вызова (callback), которая будет применена к каждому элементу исходного массива.
Callback может принимать до трёх аргументов:
• currentValue — екущий обрабатываемый элемент массива.
• index — Индекс текущего обрабатываемого элемента в массиве.
• array — Массив, по которому осуществляется проход.
• Также есть необязательный аргумент thisArg — значение, используемое в качестве this при вызове функции callback
Пример кода:
➡️ @code_ready | #функция #js
Функция Array,map: Создает новый массив путем вызова указанной функции для каждого элемента исходного массива и собирает результаты в новый массив.
Она принимает один обязательный аргумент — это функция обратного вызова (callback), которая будет применена к каждому элементу исходного массива.
Callback может принимать до трёх аргументов:
• currentValue — екущий обрабатываемый элемент массива.
• index — Индекс текущего обрабатываемого элемента в массиве.
• array — Массив, по которому осуществляется проход.
• Также есть необязательный аргумент thisArg — значение, используемое в качестве this при вызове функции callback
Пример кода:
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥7