Основы 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
Q

Какой результат вернет метод confirm() если пользователь нажал “Отмена” или нажал клавишу Esc с клавиатуры?

A

false

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

Какой параметр является необязательным для метода prompt()?

A

Необязательный параметр для метода prompt() - это параметр default, который используется как значение по умолчанию, если пользователь не ввел никаких данных.

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

Какие действия выполняет метод alert()?

A

Метод alert() показывает пользователю модальное окно с сообщением и кнопкой “ОК”. Пока это окно открыто, пользователь не может взаимодействовать с другим содержимым страницы.

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

Какие 3 преобразования типов есть в JS?

A

Строковое, Численное и Логическое. Строковое происходит, когда нужно что-то вывести. Численное происходит в математических операциях. Логическое происходит в логических операциях.

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

Что будет результатом преобразования типа данных true в число?

A

1.

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

Что будет результатом преобразования типа данных null в число?

A

0.

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

Что будет результатом преобразования типа данных “ 10 “ в число?

A

10.

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

Что будет результатом преобразования типа данных “Hello, World!” в число?

A

NaN.

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

Что будет результатом преобразования типа данных “false” в число?

A

0.

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

Что будет результатом преобразования типа данных “undefined” в число?

A

NaN.

35
Q

Что будет результатом преобразования 0 в логический тип?

A

false.

36
Q

Чему равно выражение 7 % 3?

A

1.

37
Q

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

A

**

38
Q

Что вернет оператор ~ при использовании со значением 5?

A

-6

39
Q

Что вернет выражение “hello” + “world”?

A

“helloworld”

40
Q

Что вернет выражение 2 + 3 + “apples”?

A

“5apples”

41
Q

Что вернет выражение “oranges” + 2 + 3?

A

“oranges23”

42
Q

Что вернет выражение 6 - “2”?

A

4

43
Q

Что вернет выражение “6” / “2”?

A

3

44
Q

Что вернет выражение +”42”?

A

42

45
Q

Что вернет выражение +”hello”?

A

NaN

46
Q

Что делает префиксный инкремент/декремент?

A

изменяет значение переменной, возвращает новое значение.

47
Q

Что делает постфиксный инкремент/декремент?

A

изменяет значение переменной, возвращает старое значение.

48
Q

“abc” > “bcd”?

A

“abc” меньше “bcd”, поэтому результатом будет false.

49
Q

“10” > “2”?

A

false, так как происходит посимвольное сравнение по коду, код цифры 1 меньше кода цифры 2

50
Q

Что будет результатом сравнения строк “a” и “A”?

A

Маленькая буква “a” больше большой буквы “A” в таблице Unicode, поэтому результатом будет true.

51
Q

Что будет результатом выражения null >= 0?

A

Null приводится к числу и становится 0, поэтому результатом будет true.

52
Q

Что будет результатом выражения undefined > 0?

A

Undefined приводится к NaN, который в свою очередь приводится к false при любых сравнениях (кроме !== и !=), поэтому результатом будет false.

53
Q

Что будет результатом выражения null == undefined?

A

Null и undefined равны друг другу и ничему больше, поэтому результатом будет true.

54
Q

Что происходит при сравнении разных типов?

A

Все операнды приводятся к числу и сравниваются.

55
Q

“2” > “12”

A

true. При сравнении операнды приводятся к числу, если они имеют разные типы. Здесь тип один, поэтому строки сравниваются посимвольно.

56
Q

Как записывается условное ветвление?

A

let result = условие ? значение1 : значение2; Если условие верно, то в result будет значение1, иначе значение2.

57
Q

Что вернёт выражение 0 || false || 2 || undefined || true?

A

2 (первое истинное значение)

58
Q

Что вернёт выражение 1 && “string” && 0 && null && undefined?

A

0 (первое ложное значение)

59
Q

Что вернёт выражение !!”false”?

A

true. Можно использовать вместо Boolean(), так как оператор «НЕ» сначала приводит аргумент к true/false, затем инвертирует его.

60
Q

Что вернёт выражение Boolean(0)?

A

false

61
Q

Что вернёт выражение !null && 2 || 3 && 4?

A

4 (первое истинное значение)

62
Q

Какие типы циклов есть в JavaScript?

A

while, do..while, for.

63
Q

Как прервать цикл?

A

Использовать оператор break.

64
Q

Как перейти к следующей итерации цикла?

A

Использовать оператор continue.

65
Q

Как прервать внешний цикл из внутреннего?

A

Использовать метки и оператор break с указанием нужной метки.

66
Q

Как перейти к следующей итерации внешнего цикла из внутреннего?

A

Использовать метки и оператор continue с указанием нужной метки.

67
Q

Какую функцию выполняет оператор switch?

A

Оператор switch выполняет последовательное сравнение значения переменной с аргументами case, и выполняет соответствующий блок кода для первого найденного совпадения.

68
Q

Обязателен ли блок default в операторе switch?

A

Нет

69
Q

Зачем используется ключевое слово break в блоках case?

A

Ключевое слово break используется для завершения выполнения оператора switch после выполнения соответствующего блока кода.

70
Q

Что произойдет, если не указать ключевое слово break в блоке case?

A

Если не указать ключевое слово break в блоке case, то выполнение кода будет продолжено в следующем блоке case без выполнения сравнения значений.

71
Q

Можно ли использовать выражения в блоках case?

A

Да.

72
Q

Что произойдет, если не указать ключевое слово break после каждого блока case?

A

Если не указать ключевое слово break после каждого блока case, то выполнение кода будет продолжено в следующем блоке case без выполнения сравнения значений, и будут выполнены все блоки кода, начиная с первого соответствующего блока case.

73
Q

Можно ли группировать блоки case?

A

Да, в виде
case 0:
case 1:

74
Q

Что такое локальные переменные?

A

Локальные переменные - это переменные, объявленные внутри функции и не видимые за ее пределами.

75
Q

Что такое внешние переменные?

A

Внешние переменные - это переменные, объявленные за пределами функции и доступные ей для чтения и записи.

76
Q

Как изменить значение внешней переменной внутри функции?

A

Необходимо просто присвоить ей новое значение, например: externalVariable = newValue;

77
Q

Можно ли использовать одно и то же имя переменной для локальной и внешней переменной внутри функции?

A

Да, можно. В этом случае функция будет использовать локальную переменную, а не внешнюю.

78
Q

Как задать значение по умолчанию для параметра функции?

A

Необходимо указать значение параметра после знака “=”, например: function myFunction(param1, param2 = “default value”) { … }

79
Q

Что вернет функция, если у нее нет return?

A

Если у функции нет return или он пустой (return;), то она вернет undefined.

80
Q

Как написать return в несколько строк?

A

Необходимо использовать круглые скобки и переносить строку после оператора, например: return (some + long + expression + or + whatever * f(a) + f(b));

81
Q

Что такое Function Declaration?

A

Function Declaration - это способ создания функции в JavaScript, при котором функция создается в основном потоке кода и доступна отовсюду, даже до места объявления.

82
Q

Что такое Function Expression?

A

Function Expression - это способ создания функции в JavaScript, при котором функция создается внутри другого выражения или синтаксической конструкции, и недоступна глобально, только внутри этой конструкции.

83
Q

В чем отличие между Function Declaration и Function Expression?

A

Основное отличие между Function Declaration и Function Expression заключается в том, что при использовании Function Declaration функция создается в основном потоке кода и доступна отовсюду, даже до места объявления, а при использовании Function Expression функция создается внутри другого выражения или синтаксической конструкции, и недоступна глобально, только внутри этой конструкции.

84
Q

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

A

Для создания стрелочных функций используется следующий синтаксис: let имя_функции = (аргументы) => выражение.