Как работает прототипное наследование в JS?
Каждый объект в JS имеет базовый объект – прототип. Если свойство не находится в исходном объекте, то поиск продолжается в его "родительском" объекте.
Установить прототип объекта можно только во время создания объекта: если вы создаете новый объект с помощью новой Func(), свойство объекта [[Prototype]] будет установлено на объект, на который ссылается Func.prototype.
👉 @frontendInterview
Каждый объект в JS имеет базовый объект – прототип. Если свойство не находится в исходном объекте, то поиск продолжается в его "родительском" объекте.
Установить прототип объекта можно только во время создания объекта: если вы создаете новый объект с помощью новой Func(), свойство объекта [[Prototype]] будет установлено на объект, на который ссылается Func.prototype.
👉 @frontendInterview
Что произойдет со страничкой в результате выполнения кода с картинки?
Ничего особенного. Задачи будут добавляться в цикл событий, но они не вызовут ни переполнения стека, ни бесконечной очереди, которая затормозит весь сайт. Так как макротаски после выполнения пропускают один цикл для отрисовки контента и выполнения микротасков, в отличие от микротасков, которые выполняются все в очереди перед тем, как передать управление следующему пункту в цикле событий.
👉 @frontendInterview
Ничего особенного. Задачи будут добавляться в цикл событий, но они не вызовут ни переполнения стека, ни бесконечной очереди, которая затормозит весь сайт. Так как макротаски после выполнения пропускают один цикл для отрисовки контента и выполнения микротасков, в отличие от микротасков, которые выполняются все в очереди перед тем, как передать управление следующему пункту в цикле событий.
foo() {
return Promise.resolve(1).then(foo);
}
foo();
Выполнение данного кода вызовет затормаживание интерфейса, т.к. при выполнении одного микротаска в очередь добавляется новый микротаск, который сразу же должен выполниться, без передачи управления другому пункту цикла событий.👉 @frontendInterview
Какое изначальное значение у CSS свойства flex-grow?
Anonymous Quiz
35%
auto
31%
0
12%
initial
19%
1
4%
unset
Какие типы данных представлены в javanoscript?
Чтобы узнать тип переменной JavaScript, мы можем использовать оператор typeof.
String – представляет собой серию символов и записывается в кавычках. Строку можно представить в одинарных или двойных кавычках.
Number – представляет собой число и может быть записано с десятичными знаками или без них.
BigInt – используется для хранения чисел, превышающих ограничение типа данных Number. Он может хранить большие целые числа и представлен добавлением «n» к целочисленному литералу.
Boolean – представляет собой логическую сущность и может иметь только два значения: истина или ложь. Логические значения обычно используются для условного тестирования.
Undefined – когда переменная объявлена, но не назначена, она имеет значение undefined, и ее тип также не определен.
Null – представляет несуществующее или недопустимое значение.
typeof null равен "object" и это нужно учитывать в проверках
Symbol – это новый тип данных, представленный в версии JavaScript для ES6. Он используется для хранения анонимного и уникального значения.
Object – используется для хранения коллекции данных.Важно помнить, что любой тип данных, который не является примитивным типом данных, относится к типу объекта в javanoscript.
Array – это не отдельный тип данных, на самом деле это Object.
👉 @frontendInterview
Чтобы узнать тип переменной JavaScript, мы можем использовать оператор typeof.
String – представляет собой серию символов и записывается в кавычках. Строку можно представить в одинарных или двойных кавычках.
Number – представляет собой число и может быть записано с десятичными знаками или без них.
BigInt – используется для хранения чисел, превышающих ограничение типа данных Number. Он может хранить большие целые числа и представлен добавлением «n» к целочисленному литералу.
Boolean – представляет собой логическую сущность и может иметь только два значения: истина или ложь. Логические значения обычно используются для условного тестирования.
Undefined – когда переменная объявлена, но не назначена, она имеет значение undefined, и ее тип также не определен.
Null – представляет несуществующее или недопустимое значение.
typeof null равен "object" и это нужно учитывать в проверках
Symbol – это новый тип данных, представленный в версии JavaScript для ES6. Он используется для хранения анонимного и уникального значения.
Object – используется для хранения коллекции данных.Важно помнить, что любой тип данных, который не является примитивным типом данных, относится к типу объекта в javanoscript.
Array – это не отдельный тип данных, на самом деле это Object.
👉 @frontendInterview
New Perspectives HTML5 and CSS3, 7th Edition (2017)
Седьмое издание этой популярной книги расскажет вам о новых возможностях, появившихся в HTML5 и CSS3. Если вы хотите развить свой профессиональный опыт по созданию веб-приложений, то в этой книге вы найдёте задания к каждой главе, а также цели и проблемы, которые стоят перед вами как разработчиком в той или иной ситуации.
👉 @frontendInterview
Седьмое издание этой популярной книги расскажет вам о новых возможностях, появившихся в HTML5 и CSS3. Если вы хотите развить свой профессиональный опыт по созданию веб-приложений, то в этой книге вы найдёте задания к каждой главе, а также цели и проблемы, которые стоят перед вами как разработчиком в той или иной ситуации.
👉 @frontendInterview
Динамическая генерация цвета
Создайте функцию, которая будет генерировать цвет в hex формате.
Примеры:
👉 @frontendInterview
Создайте функцию, которая будет генерировать цвет в hex формате.
Примеры:
#ffffff
#25a403
#000001👉 @frontendInterview
Getting MEAN with Mongo, Express, Angular, and Node (2019)
Книга научит вас разрабатывать веб-приложения, используя стек MEAN. Во время чтения в начале вы сделаете статический сайт при помощи Express и Node, далее интегрируете базу данных MongoDB, создадите API и добавите систему аутентификации. Попутно вы получите бесчисленное множество профессиональных советов по созданию качественных веб-приложений.
👉 @frontendInterview
Книга научит вас разрабатывать веб-приложения, используя стек MEAN. Во время чтения в начале вы сделаете статический сайт при помощи Express и Node, далее интегрируете базу данных MongoDB, создадите API и добавите систему аутентификации. Попутно вы получите бесчисленное множество профессиональных советов по созданию качественных веб-приложений.
👉 @frontendInterview
Как найти сумму элементов массива, если вложенность массива неизвестна?
Для этого можно использовать рекурсию.
👉 @frontendInterview
Для этого можно использовать рекурсию.
function arraySum(arr) {
let sum = 0;
arr.map((item) => {
if (Array.isArray(item)) {
sum += arraySum(item);
} else {
sum += item;
}
});
return sum;
}
console.log(arraySum([[1, 2, [3, 4]], [9], [10, 12]]));👉 @frontendInterview
Перечислите специальные числовые значения в 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