Javascript Flashcards

(105 cards)

1
Q

Какое значение возвращает префиксная/постфиксная форма инкремента и декремента?

A

новое / старое

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Значение undefined в Численном преобразовании преобразуется в …

A

Nan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Значение null в Численном преобразовании преобразуется в …

A

0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Значение true / false в Численном преобразовании преобразуется в …

A

1 / 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Пустой массив при операциях + / - к чему будет приведен?

A

к пустой строке

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Какое значение находит оператор && / || ?

A

Первое ложное / первое истинное

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Какие значения при логическом преобразовании станут false ?

A

0, null, undefined, NaN, “”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Какие значения при логическом преобразовании станут true?

A

все остальные

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

У какого оператора приоритет выше && или || ?

A

&&

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Как найти элемент на странице по id?

A

document.getElementById(id)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Как найти элементы на странице по селектору?

A

elem.querySelectorAll(css)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Что возвращает команда elem.querySelector(css)?

A

первый элемент, соответствующий данному CSS-селектору.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Какие бывают (3) getElementsBy…

A

TagName(tag)
ClassName(className)
Name(name)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Какую коллекцию возвращает getElementsBy…, а querySelectorAll ?

A

Живую, статичную.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

С помощью какой команды можно посмотреть в консоли свойства объекта?

A

console.dir()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Как назначить несколько инлайн стилей одному элементу?

A

элемент.style.cssText = ‘свойство : значение; свойство : значение ‘

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Как назначить стиль нескольким элементам в псевдомассиве?

A

Цикл или forEach
for (i = 0; i < массива; i++) {
массив[i].style.cssText = ‘свойство : значение’;
}
массив.forEach (item =>{
item.style.cssText = ‘свойство : значение’;
})

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Как создать новый элемент с заданным тегом в JS?

A

document.createElement(tag)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Как создать новый текстовый узел с заданным текстом в JS?

A

document.createTextNode(text)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Метод вставки в конец node

A

node.append

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Метод вставки в начало node

A

node.prepend

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Метод вставки до node

A

node.before

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Метод вставки после node

A

node.after

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Метод замены node заданными узлами или строками.

A

node.replaceWith

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Как расшифровывается DOM?
Document Object Model
26
Что такое DOM?
объектная модель документа, которая предоставляет все содержимое страницы в виде объектов, которые можно менять.
27
Как расшифровывается BOM?
Browser Object Model
28
Какие два свойства самые известные у объекта navigator?
navigator. userAgent - информация о текущем браузере | navigator. platform – информация о платформе
29
Какие типы узлов бывают в DOM дереве?
документ, элементы, текстовый узел, комментарий
30
3 способа назначить обработчик событий
1. в HTML документе через приставку on 2. в JS сначала получить доступ к элементу, после элемент. onсобытие = function() { код после события }; 3.с помощью addEventListener. элемент.addEventListener('название события', () => { действие после события });
31
что такое всплытие?
Когда на элементе происходит событие, обработчики сначала срабатывают на нём, потом на его родителе, затем выше и так далее, вверх по цепочке предков.
32
как называется самый глубокий элемент, который вызывает событие?
Целевым
33
как можно вызвать целевой элемент?
с помощью event.target
34
как отменить действие браузера по умолчанию?
event.preventDefault()
35
как поставить обработчик события на несколько элементов?
название псевдомассива.forEach(item => { назначаем обработчик события });
36
Что такое литерал объекта или литеральная нотация?
let user = {};
37
Как по-другому называют свойства объекта?
полями
38
Как удалить свойство из объекта?
delete св-во.объект
39
Как получить доступ к значению свойства, которое состоит из нескольких слов?
через []
40
Как проверить существует ли св-во в объекте?
С помощью оператора in. "key" in object
41
Как перебрать св-ва объекта? Синтаксис
С помощью цикла for in for (let key in object) { тело цикла выполняется для каждого св-ва };
42
Что такое целочисленное свойство?
строка, которая может быть преобразована в целое число и обратно без изменений.
43
Как копируются объекты и примитивные типы данных?
по ссылке/по значению
44
Когда два объекта равны?
только в том случае, если это один и тот же объект
45
С помощью какого метода можно клонировать и объединять объекты? Синтаксис
Object.assign(dest, [src1, src2, src3...]) | src копируется в dest
46
Что такое метод объекта?
Функция, которая является свойством объекта
47
Как методу получить доступ к информации в объекте?
С помощью ключевого слова this
48
Строковое преобразование. синтаксис
value = String(value)
49
Численное преобразование
Number(value)
50
Как сократить запись большого числа? например, 1 мдрд
1е9 (1 и 9 нулей)
51
Какие 3 функции для работы с округлением знаешь?
Math.floor Округление в меньшую сторону: 3.1 становится 3, а -1.1 — -2. Math.ceil Округление в большую сторону: 3.1 становится 4, а -1.1 — -1. Math.round Округление до ближайшего целого: 3.1 становится 3, 3.6 — 4, а -1.1 — -1.
52
Что делать если нам надо округлить число до n-ого количества цифр в дробной части?
1. Умножить и разделить. Например, чтобы округлить число до второго знака после запятой, мы можем умножить число на 100, вызвать функцию округления и разделить обратно. 2.Метод toFixed(n) округляет число до n знаков после запятой и возвращает строковое представление результата.
53
Что является результатом toFixed?
строка
54
Какая ф-я преобразует значение в число и проверяет является ли оно NaN?
isNaN(value)
55
Какая ф-я преобразует аргумент в число и возвращает true, если оно является обычным числом, т.е. не NaN/Infinity/-Infinity
isFinite(value)
56
Как получить числовое значение из строк с символами? Например "19€"
parseInt(целое число) и parseFloat(число с плавающей точкой)
57
что возвращает Math.random()?
Возвращает псевдослучайное число в диапазоне от 0 (включительно) до 1 (но не включая 1)
58
что возвращает Math.pow(n, power)?
Возвращает число n, возведённое в степень power
59
как вывести последний символ в строке?
console.log(string[string.length -1]);
60
Какие методы меняют регистр символов?
toLowerCase() и toUpperCase()
61
Метод для поиска подстроки
str.indexOf(substr, pos).
62
Метод, который ищет подстроку с конца строки к её началу
str.lastIndexOf(substr, position)
63
Метод, который возвращает часть строки от start длины length.
str.substr(start, length)
64
Метод, который возвращает часть строки от start до (не включая) end.
str.slice(start , end)
65
Как проверить пустой массив или нет?
``` value = []; if(value.length) { ... } else { ... }; ```
66
Как проверить что массив является массивом?
Array.isArray(массив)
67
Выражение - это
любой валидный блок кода, который имеет ценность.
68
Оператор - это
символ или ключевое слово, которое производит вычисление над некоторыми значениями. Эти значения называют операндами.
69
Чем отличается строгое равенство/неравенство от нестрогого?
нестрогое - проверяется только значения | строгое - проверяется и тип данных
70
Синтаксис тернарного оператора
выражение ? если true : если false
71
Метод, который возвращает новый массив, в который копирует элементы, начиная с индекса start и до end
arr.slice([start], [end])
72
С помощью какого метода мы можем добавлять, удалять и заменять элементы? Его синтаксис
arr.splice(index[, deleteCount, elem1, ..., elemN]) Он начинает с позиции index, удаляет deleteCount элементов и вставляет elem1, ..., elemN на их место. Возвращает массив из удалённых элементов.
73
Какой метод возвращает перевернутый массив?
arr.reverse()
74
Какие два метода могут сделать копию массива?
1. slice, если в него ничего не передать. | 2. concat, если в скобки передать массив.
75
Как называется метод, который создаёт новый массив, в который копирует данные из других массивов и дополнительные значения? Синтаксис
arr.concat(arg1, arg2...)
76
Какой метод делает из массива строку? Что принимает в качестве аргумента
arr.join(). Принимает разделитель. Если пустой, будет все через запитую, если '', то слитно, если ' ', то через пробел
77
Метод, который из строки делает массив?
str.split(принимает разделитель)
78
Что такое ф-я высшего порядка?
ф-я, которая принимает в качестве параметров другие ф-и или возвращает ф-и
79
Что могут ф-и в JS?
1. храниться в переменной, объекте или массиве. 2. передаваться как аргументы в другую функцию. 3. могут быть возвращены из функции.
80
Что такое ф-я обратного порядка (колбэк)?
Функции обратного вызова передаются в качестве аргумента в другие функции.
81
Что делает метод call()? Синтаксис
func.call(context, arg1, arg2, ...) | При этом вызывается функция func, первый аргумент call становится её this, а остальные передаются «как есть».
82
Что делает метод apply()? Синтаксис
Он выполняет func, устанавливая this=context и принимая в качестве списка аргументов псевдомассив args. func.apply(context, args)
83
Как решить проблему отсутствия arguments в стрелочных функциях?
``` можно решить путём сочетания функций-стрелок с rest оператором: const printParams = (...props) => console.log(props); printParams('test', 123); // ["test", 123] ```
84
this у стрелочных ф-й
Для стрелочных функций не существует “собственного” this, то есть они используют this “выше” уровнем - тот this, который определяется в момент создания актуального окружения, в котором находится стрелочная функция.
85
Для чего используется метод reduce()?Синтаксис
используется для последовательной обработки каждого элемента массива с сохранением промежуточного результата. arr.reduce(callback( accumulator, currentValue[, index[, array]] )[, initialValue]) параметры callback Функция, выполняемая для каждого элемента в массиве (кроме первого, если не указано значение initialValue). Требуется четыре аргумента: accumulator Аккумулятор накапливает возвращаемые значения обратного вызова . Это накопленное значение, ранее возвращенное в последнем вызове обратного вызова - или initialValue, если оно было предоставлено (см. Ниже). currentValue Текущий элемент, обрабатываемый в массиве. index По желанию Индекс текущего элемента, обрабатываемого в массиве. Начинается с индекса, 0если initialValueпредоставляется. В противном случае он начинается с индекса 1. array По желанию Массив reduce()был вызван. initialValue По желанию Значение, используемое в качестве первого аргумента для первого вызова callback. Если нет initialValue, первый элемент в массиве будет использоваться в качестве начального accumulatorзначения и пропускается как currentValue. Вызов reduce()пустого массива без initialValueволи выдает TypeError. Возвращаемое значение
86
Для чего используют метод filter() и что она делает
используется для фильтрации массива через функцию. Он создаёт новый массив, в который войдут только те элементы arr, для которых вызов callback(item, i, arr) возвратит true.
87
Что делает метод map()?
Он вызывает функцию для каждого элемента массива и возвращает массив результатов выполнения этой функции.
88
Что делает метод some()?
проверяет, удовлетворяет ли какой-либо элемент массива условию, заданному в передаваемой функции. arr.some(callback(element => условие)
89
Что делает метод every()?
проверяет, удовлетворяют ли все элементы массива условию, заданному в передаваемой функции
90
Синтаксис forEach()
``` arr.forEach(function(item, index, array) { // ... делать что-то с item }); ```
91
Синтаксис reduce()?
``` let value = arr.reduce(function(previousValue, item, index, array) { // ... }, [initial]); Функция применяется по очереди ко всем элементам массива и «переносит» свой результат на следующий вызов. ``` Аргументы: previousValue – результат предыдущего вызова этой функции, равен initial при первом вызове (если передан initial), item – очередной элемент массива, index – его индекс, array – сам массив.
92
Что такое замыкания?
это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыкании, «запоминает» окружение, в котором она была создана.
93
Какие три типа кода существуют в ECMAScript:
- глобальный код ( window и все его свойства и методы ); - код функции ( function foo() { ...some code... } ); - eval код ( eval(‘1 + 1’) ).
94
Что такое лексическое окружение?
это структура данных, которая хранит информацию по идентификаторам переменных. Тут идентификатор обозначает имя переменных/функций, а переменная настоящий объект[включая тип функции] или примитивное значение.
95
Что каждый раз делает JS-движок, когда создаёт контекст выполнения для выполнения функции или глобального кода?
создаёт и новое лексическое окружение для хранения переменных, объявляемых в этой функции в процессе её выполнения.
96
Какие два компонента есть у лексического окружения?
1. Запись в окружении(environment record) это место хранятся объявления переменной или функции. 2. Ссылка на внешнее лексическое окружение – то есть то, которое соответствует коду снаружи (снаружи от текущих фигурных скобок).
97
Что такое переменная с точки зрения лексического окружения?
это просто свойство специального внутреннего объекта: Environment Record. «Получить или изменить переменную», означает, «получить или изменить свойство этого объекта».
98
В чем отличие переменных от Function Declaration?
В отличие от переменных, объявленных с помощью let, Function Declaration полностью инициализируются не тогда, когда выполнение доходит до них, а раньше, когда создаётся лексическое окружение.
99
Какое значение будет использовать функция при выполнении?
Функция получает текущее значение внешних переменных, то есть, их последнее значение
100
Что такое [[Environment]]?
Все функции «при рождении» получают скрытое свойство [[Environment]], которое ссылается на лексическое окружение места, где они были созданы.
101
Самый простой способ сделать глубокое копирование?
``` JSON let newObject = JSON.parse(JSON.stringify(obj)); ```
102
Какой метод возвращает массив ключей?
Object.keys(obj)
103
Какой метод возвращает массив пар [ключ, значение]?
Object.entries(obj)
104
Какой метод возвращает массив значений?
Object.values(obj)
105
Какой метод получив массив пар вида [ключ, значение], он создаёт из них объект?
Object.fromEntries()