В чем разница между Object.getOwnPropertyNames() и Object.keys()
Object.getOwnPropertyNames() возвращает перечислимые и не перечислимые свойства из объекта или массива.
Object.getOwnPropertyNames() возвращает перечислимые и не перечислимые свойства из объекта или массива.
var arr = ["a", "b", "c"];
print(Object.getOwnPropertyNames(arr).sort()); // prints "0,1,2,length"
// Array-like objectObject.keys() возвращает перечислимые свойства из объекта или массива.
var obj = { 0: "a", 1: "b", 2: "c"};
print(Object.getOwnPropertyNames(obj).sort()); // prints "0,1,2"
var arr = ["a", "b", "c"];
alert(Object.keys(arr)); // will alert "0,1,2"
// array like object
var obj = { 0 : "a", 1 : "b", 2 : "c"};
alert(Object.keys(obj)); // will alert "0,1,2"Что из перечисленного не является примитивным типом данных в JavaScript
Anonymous Quiz
4%
number
66%
char
4%
boolean
18%
undefined
8%
string
Шаблоны корпоративных приложений
Книга Мартина Фаулера, посвященная разработке корпоративных приложений. После краткого руководства Мартин предлагает вам более 40 шаблонов в качестве решения распространенных проблем при разработке корпоративных приложений. В книге вы найдете большое количество UML визуализаций и примеров кода, написанных на Java или C#.
Прочитав книгу, вы сможете разделять корпоративные приложения на уровни, знать основные подходы к организации бизнес-логики, использовать MVC шаблоны для организации веб-приложений и управлять параллельной обработкой нескольких транзакций.
Книга Мартина Фаулера, посвященная разработке корпоративных приложений. После краткого руководства Мартин предлагает вам более 40 шаблонов в качестве решения распространенных проблем при разработке корпоративных приложений. В книге вы найдете большое количество UML визуализаций и примеров кода, написанных на Java или C#.
Прочитав книгу, вы сможете разделять корпоративные приложения на уровни, знать основные подходы к организации бизнес-логики, использовать MVC шаблоны для организации веб-приложений и управлять параллельной обработкой нескольких транзакций.
Эффективная работа с унаследованным кодом
В книге автор предлагает стратегии для работы с большими, непокрытыми тестами базами legacy-кода. Вы можете подумать: “На дворе 2020 год. Legacy-код больше не проблема, ведь у нас есть чистый, поддерживаемый код и микросервисы.” Позвольте мне заверить вас, что это ошибочное представление. Legacy-код по-прежнему является одной из самых сложных проблем для многих компаний.
Прочитав эту книгу, вы сможете понять общие механизмы изменения программного обеспечения, например: добавление функций, исправление багов, оптимизация производительности и улучшение проектирования. Кроме того, вы узнаете, как подготовить унаследованный код к тестированию и определить, где его необходимо изменить.
В книге автор предлагает стратегии для работы с большими, непокрытыми тестами базами legacy-кода. Вы можете подумать: “На дворе 2020 год. Legacy-код больше не проблема, ведь у нас есть чистый, поддерживаемый код и микросервисы.” Позвольте мне заверить вас, что это ошибочное представление. Legacy-код по-прежнему является одной из самых сложных проблем для многих компаний.
Прочитав эту книгу, вы сможете понять общие механизмы изменения программного обеспечения, например: добавление функций, исправление багов, оптимизация производительности и улучшение проектирования. Кроме того, вы узнаете, как подготовить унаследованный код к тестированию и определить, где его необходимо изменить.
Можно ли прервать обход элементов в методе forEach?
Не существует способа остановить или прервать цикл forEach() кроме как выбрасыванием исключения. Если вам необходимо такое поведение, метод forEach() неправильный выбор.
Досрочное прекращение может быть достигнуто с:
Метод forEach() выполняет функцию callback один раз для каждого элемента массива; в отличие от методов every() и some(), он всегда возвращает значение undefined.
Не существует способа остановить или прервать цикл forEach() кроме как выбрасыванием исключения. Если вам необходимо такое поведение, метод forEach() неправильный выбор.
Досрочное прекращение может быть достигнуто с:
Простой цикл forЕсли нужно протестировать элементы массива на условие и нужно вернуть булево значение, вы можете воспользоваться методами
Циклы for...of / for...in
Array.prototype.every()
Array.prototype.some()
Array.prototype.find()
Array.prototype.findIndex()
every(), some(), find() или findIndex().Метод forEach() выполняет функцию callback один раз для каждого элемента массива; в отличие от методов every() и some(), он всегда возвращает значение undefined.
Какое из перечисленных ниже слов не является зарезервированным словом в JavaScript?
Anonymous Quiz
33%
default
17%
throw
35%
finally
16%
undefined
Можно ли с помощью метода indexOf определить позицию подмассива в массиве?
Метод indexOf() использует оператор строгого сравнения (===) при сравнении искомого элемента и элементов массива.
Так как сравнение массивов происходит по ссылке, сравнение искомого элемента и элемента массива, который сам является массивом вернет false.
Метод indexOf() использует оператор строгого сравнения (===) при сравнении искомого элемента и элементов массива.
Так как сравнение массивов происходит по ссылке, сравнение искомого элемента и элемента массива, который сам является массивом вернет false.
const arr = [[1], [2], [3]]
const arr2 = [1]
console.log(arr[0] === arr2); //false
Какое значение в пикселях равно 10vmin, если ширина вьюпорта 800px, а высота 1000px?
Anonymous Quiz
11%
10px
55%
80px
27%
100px
7%
8px
Как строку преобразовать в массив?
Ситуация из реальной жизни. Мы пишем приложение для обмена сообщениями, и посетитель вводит имена тех, кому его отправить, через запятую: Вася, Петя, Маша. Но нам-то гораздо удобнее работать с массивом имён, чем с одной строкой. Как его получить?
Метод str.split(delim) именно это и делает. Он разбивает строку на массив по заданному разделителю delim.
В примере ниже таким разделителем является строка из запятой и пробела.
Ситуация из реальной жизни. Мы пишем приложение для обмена сообщениями, и посетитель вводит имена тех, кому его отправить, через запятую: Вася, Петя, Маша. Но нам-то гораздо удобнее работать с массивом имён, чем с одной строкой. Как его получить?
Метод str.split(delim) именно это и делает. Он разбивает строку на массив по заданному разделителю delim.
В примере ниже таким разделителем является строка из запятой и пробела.
names = 'Вася, Петя, Маша';У метода split есть необязательный второй числовой аргумент – ограничение на количество элементов в массиве. Если их больше, чем указано, то остаток массива будет отброшен. На практике это редко используется:
let arr = names.split(', ');
for (let name of arr) {
alert( `Сообщение получат: ${name}.` ); // Сообщение получат: Вася (и другие имена)
}
let arr = 'Вася, Петя, Маша, Саша'.split(', ', 2);
alert(arr); // Вася, ПетяЧто такое DOM, BOM и window?
Объект Window в клиентском JavaScript является глобальным объектом. Это означает, что объект Window находится на вершине цепочки областей видимости и что его свойства и методы фактически являются глобальными переменными и функциями.
Глобальный объект window можно разделить на три части:
1. Объектная модель документа (DOM) — объект document,через который осуществляется доступ к содержимому страницы.
2. Объектная модель браузера (BOM) — объекты, методы и свойства для работы с браузером.
3. Сам javascript — его объекты, свойства и функции.
BOM состоит из объектов navigator, history, screen, location и document, которые являются дочерними элементами window. В document node находится DOM (Document Object Model), объектная модель документа, которая представляет содержимое страницы. Вы можете манипулировать им с помощью javascript.
Объект Window в клиентском JavaScript является глобальным объектом. Это означает, что объект Window находится на вершине цепочки областей видимости и что его свойства и методы фактически являются глобальными переменными и функциями.
Глобальный объект window можно разделить на три части:
1. Объектная модель документа (DOM) — объект document,через который осуществляется доступ к содержимому страницы.
2. Объектная модель браузера (BOM) — объекты, методы и свойства для работы с браузером.
3. Сам javascript — его объекты, свойства и функции.
BOM состоит из объектов navigator, history, screen, location и document, которые являются дочерними элементами window. В document node находится DOM (Document Object Model), объектная модель документа, которая представляет содержимое страницы. Вы можете манипулировать им с помощью javascript.
Какое из перечисленных CSS свойств НЕ анимируемо?
Anonymous Quiz
68%
display
7%
opacity
16%
font-size
9%
width