Основы JS Flashcards

1
Q

Что не требуется для тега “script” в HTML5, но требовалось в HTML4?

A

В HTML5 не требуется использование атрибута type для тега “script”, но он требовался в HTML4.

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

Какой атрибут можно использовать для указания пути к файлу со скриптом?

A

Для указания пути к файлу со скриптом можно использовать атрибут src.

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

Можно ли задавать как абсолютный, так и относительный путь для файла со скриптом?

A

Да, для файла со скриптом можно задавать как абсолютный, так и относительный путь.

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

Какой плюс подключения скрипта отдельно?

A

Один из плюсов подключения скрипта отдельно - экономия трафика и ускорение загрузки страницы.

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

Как применить строгий режим?

A

Строгий режим применяется с помощью директивы “use strict” или ‘use strict’ в начале скрипта или внутри функции.

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

Как работает строгий режим с классами и модулями?

A

“Классы” и “модули” автоматически включают строгий режим, поэтому не всегда есть необходимость явно его включать.

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

Как можно объявлять переменные?

A

С помощью ключевых слов let, var и const.

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

Какие ограничения накладываются при объявлении имени переменной?

A

Переменные не могут начинаться с цифры, разрешены только буквы, цифры и символы $, _.

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

Переменные регистрозависимы?

A

Да.

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

Какой тип данных предназначен для целых чисел произвольной длины?

A

bigint.

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

Что обозначает NaN в JavaScript?

A

Вычислительная ошибка.

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

Каким оператором можно узнать тип данных переменной?

A

Оператором typeof.

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

Какой тип данных имеет одно значение null?

A

null.

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

Какой тип данных возвращает оператор typeof для переменной, которая не была объявлена?

A

“undefined”.

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

Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение “null”?

A

“object”. Ошибка языка.

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

Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение true?

A

“boolean”.

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

Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение “123.45”?

A

“number”.

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

Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение “abc”?

A

“string”.

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

Как объявить переменную, которая содержит значение типа “bigint”?

A

С помощью ключевого слова “const” и суффикса “n”, например: const bigIntNum = 123456789012345678901234567890n;

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

Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение типа “bigint”?

A

“bigint”.

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

Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение типа “symbol”?

A

“symbol”.

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

Как объявить переменную, которая содержит значение типа “symbol”?

A

С помощью ключевого слова “const” и функции Symbol(), например: const mySymbol = Symbol(‘description’);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Какой результат вернет метод confirm() если пользователь нажал "Отмена" или нажал клавишу Esc с клавиатуры?
false
26
Какой параметр является необязательным для метода prompt()?
Необязательный параметр для метода prompt() - это параметр default, который используется как значение по умолчанию, если пользователь не ввел никаких данных.
27
Какие действия выполняет метод alert()?
Метод alert() показывает пользователю модальное окно с сообщением и кнопкой "ОК". Пока это окно открыто, пользователь не может взаимодействовать с другим содержимым страницы.
28
Какие 3 преобразования типов есть в JS?
Строковое, Численное и Логическое. Строковое происходит, когда нужно что-то вывести. Численное происходит в математических операциях. Логическое происходит в логических операциях.
29
Что будет результатом преобразования типа данных true в число?
1.
30
Что будет результатом преобразования типа данных null в число?
0.
31
Что будет результатом преобразования типа данных " 10 " в число?
10.
32
Что будет результатом преобразования типа данных "Hello, World!" в число?
NaN.
33
Что будет результатом преобразования типа данных "false" в число?
0.
34
Что будет результатом преобразования типа данных "undefined" в число?
NaN.
35
Что будет результатом преобразования 0 в логический тип?
false.
36
Чему равно выражение 7 % 3?
1.
37
Какой оператор используется для возведения числа в степень?
**
38
Что вернет оператор ~ при использовании со значением 5?
-6
39
Что вернет выражение "hello" + "world"?
"helloworld"
40
Что вернет выражение 2 + 3 + "apples"?
"5apples"
41
Что вернет выражение "oranges" + 2 + 3?
"oranges23"
42
Что вернет выражение 6 - "2"?
4
43
Что вернет выражение "6" / "2"?
3
44
Что вернет выражение +"42"?
42
45
Что вернет выражение +"hello"?
NaN
46
Что делает префиксный инкремент/декремент?
изменяет значение переменной, возвращает новое значение.
47
Что делает постфиксный инкремент/декремент?
изменяет значение переменной, возвращает старое значение.
48
"abc" > "bcd"?
"abc" меньше "bcd", поэтому результатом будет false.
49
"10" > "2"?
false, так как происходит посимвольное сравнение по коду, код цифры 1 меньше кода цифры 2
50
Что будет результатом сравнения строк "a" и "A"?
Маленькая буква "a" больше большой буквы "A" в таблице Unicode, поэтому результатом будет true.
51
Что будет результатом выражения null >= 0?
Null приводится к числу и становится 0, поэтому результатом будет true.
52
Что будет результатом выражения undefined > 0?
Undefined приводится к NaN, который в свою очередь приводится к false при любых сравнениях (кроме !== и !=), поэтому результатом будет false.
53
Что будет результатом выражения null == undefined?
Null и undefined равны друг другу и ничему больше, поэтому результатом будет true.
54
Что происходит при сравнении разных типов?
Все операнды приводятся к числу и сравниваются.
55
"2" > "12"
true. При сравнении операнды приводятся к числу, если они имеют разные типы. Здесь тип один, поэтому строки сравниваются посимвольно.
56
Как записывается условное ветвление?
let result = условие ? значение1 : значение2; Если условие верно, то в result будет значение1, иначе значение2.
57
Что вернёт выражение 0 || false || 2 || undefined || true?
2 (первое истинное значение)
58
Что вернёт выражение 1 && "string" && 0 && null && undefined?
0 (первое ложное значение)
59
Что вернёт выражение !!"false"?
true. Можно использовать вместо Boolean(), так как оператор «НЕ» сначала приводит аргумент к true/false, затем инвертирует его.
60
Что вернёт выражение Boolean(0)?
false
61
Что вернёт выражение !null && 2 || 3 && 4?
4 (первое истинное значение)
62
Какие типы циклов есть в JavaScript?
while, do..while, for.
63
Как прервать цикл?
Использовать оператор break.
64
Как перейти к следующей итерации цикла?
Использовать оператор continue.
65
Как прервать внешний цикл из внутреннего?
Использовать метки и оператор break с указанием нужной метки.
66
Как перейти к следующей итерации внешнего цикла из внутреннего?
Использовать метки и оператор continue с указанием нужной метки.
67
Какую функцию выполняет оператор switch?
Оператор switch выполняет последовательное сравнение значения переменной с аргументами case, и выполняет соответствующий блок кода для первого найденного совпадения.
68
Обязателен ли блок default в операторе switch?
Нет
69
Зачем используется ключевое слово break в блоках case?
Ключевое слово break используется для завершения выполнения оператора switch после выполнения соответствующего блока кода.
70
Что произойдет, если не указать ключевое слово break в блоке case?
Если не указать ключевое слово break в блоке case, то выполнение кода будет продолжено в следующем блоке case без выполнения сравнения значений.
71
Можно ли использовать выражения в блоках case?
Да.
72
Что произойдет, если не указать ключевое слово break после каждого блока case?
Если не указать ключевое слово break после каждого блока case, то выполнение кода будет продолжено в следующем блоке case без выполнения сравнения значений, и будут выполнены все блоки кода, начиная с первого соответствующего блока case.
73
Можно ли группировать блоки case?
Да, в виде case 0: case 1: ...
74
Что такое локальные переменные?
Локальные переменные - это переменные, объявленные внутри функции и не видимые за ее пределами.
75
Что такое внешние переменные?
Внешние переменные - это переменные, объявленные за пределами функции и доступные ей для чтения и записи.
76
Как изменить значение внешней переменной внутри функции?
Необходимо просто присвоить ей новое значение, например: externalVariable = newValue;
77
Можно ли использовать одно и то же имя переменной для локальной и внешней переменной внутри функции?
Да, можно. В этом случае функция будет использовать локальную переменную, а не внешнюю.
78
Как задать значение по умолчанию для параметра функции?
Необходимо указать значение параметра после знака "=", например: function myFunction(param1, param2 = "default value") { ... }
79
Что вернет функция, если у нее нет return?
Если у функции нет return или он пустой (return;), то она вернет undefined.
80
Как написать return в несколько строк?
Необходимо использовать круглые скобки и переносить строку после оператора, например: return (some + long + expression + or + whatever * f(a) + f(b));
81
Что такое Function Declaration?
Function Declaration - это способ создания функции в JavaScript, при котором функция создается в основном потоке кода и доступна отовсюду, даже до места объявления.
82
Что такое Function Expression?
Function Expression - это способ создания функции в JavaScript, при котором функция создается внутри другого выражения или синтаксической конструкции, и недоступна глобально, только внутри этой конструкции.
83
В чем отличие между Function Declaration и Function Expression?
Основное отличие между Function Declaration и Function Expression заключается в том, что при использовании Function Declaration функция создается в основном потоке кода и доступна отовсюду, даже до места объявления, а при использовании Function Expression функция создается внутри другого выражения или синтаксической конструкции, и недоступна глобально, только внутри этой конструкции.
84
Какой синтаксис используется для создания стрелочных функций?
Для создания стрелочных функций используется следующий синтаксис: let имя_функции = (аргументы) => выражение.