Основы JS Flashcards
Что не требуется для тега “script” в HTML5, но требовалось в HTML4?
В HTML5 не требуется использование атрибута type для тега “script”, но он требовался в HTML4.
Какой атрибут можно использовать для указания пути к файлу со скриптом?
Для указания пути к файлу со скриптом можно использовать атрибут src.
Можно ли задавать как абсолютный, так и относительный путь для файла со скриптом?
Да, для файла со скриптом можно задавать как абсолютный, так и относительный путь.
Какой плюс подключения скрипта отдельно?
Один из плюсов подключения скрипта отдельно - экономия трафика и ускорение загрузки страницы.
Будет ли браузер загружать скрипт снова при подключении его другими страницами, если он уже был загружен?
Нет, браузер после загрузки скрипта будет хранить его в кеше, и при подключении этого скрипта другими страницами, не потребуется загружать его снова.
Как включить “усовершенствованные” возможности?
Чтобы включить “усовершенствованные” возможности, применяется строгий режим.
Как применить строгий режим?
Строгий режим применяется с помощью директивы “use strict” или ‘use strict’ в начале скрипта или внутри функции.
Как работает строгий режим с классами и модулями?
“Классы” и “модули” автоматически включают строгий режим, поэтому не всегда есть необходимость явно его включать.
Как можно объявлять переменные?
С помощью ключевых слов let, var и const.
Какие ограничения накладываются при объявлении имени переменной?
Переменные не могут начинаться с цифры, разрешены только буквы, цифры и символы $, _.
Переменные регистрозависимы?
Да.
Какой тип данных предназначен для целых чисел произвольной длины?
bigint.
Что обозначает NaN в JavaScript?
Вычислительная ошибка.
Каким оператором можно узнать тип данных переменной?
Оператором typeof.
Какой тип данных имеет одно значение null?
null.
Какой тип данных возвращает оператор typeof для переменной, которая не была объявлена?
“undefined”.
Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение “null”?
“object”. Ошибка языка.
Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение true?
“boolean”.
Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение “123.45”?
“number”.
Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение “abc”?
“string”.
Как объявить переменную, которая содержит значение типа “bigint”?
С помощью ключевого слова “const” и суффикса “n”, например: const bigIntNum = 123456789012345678901234567890n;
Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение типа “bigint”?
“bigint”.
Какой тип данных возвращает оператор typeof для переменной, которой было явно присвоено значение типа “symbol”?
“symbol”.
Как объявить переменную, которая содержит значение типа “symbol”?
С помощью ключевого слова “const” и функции Symbol(), например: const mySymbol = Symbol(‘description’);
Какой результат вернет метод confirm() если пользователь нажал “Отмена” или нажал клавишу Esc с клавиатуры?
false
Какой параметр является необязательным для метода prompt()?
Необязательный параметр для метода prompt() - это параметр default, который используется как значение по умолчанию, если пользователь не ввел никаких данных.
Какие действия выполняет метод alert()?
Метод alert() показывает пользователю модальное окно с сообщением и кнопкой “ОК”. Пока это окно открыто, пользователь не может взаимодействовать с другим содержимым страницы.
Какие 3 преобразования типов есть в JS?
Строковое, Численное и Логическое. Строковое происходит, когда нужно что-то вывести. Численное происходит в математических операциях. Логическое происходит в логических операциях.
Что будет результатом преобразования типа данных true в число?
1.
Что будет результатом преобразования типа данных null в число?
0.
Что будет результатом преобразования типа данных “ 10 “ в число?
10.
Что будет результатом преобразования типа данных “Hello, World!” в число?
NaN.
Что будет результатом преобразования типа данных “false” в число?
0.
Что будет результатом преобразования типа данных “undefined” в число?
NaN.
Что будет результатом преобразования 0 в логический тип?
false.
Чему равно выражение 7 % 3?
1.
Какой оператор используется для возведения числа в степень?
**
Что вернет оператор ~ при использовании со значением 5?
-6
Что вернет выражение “hello” + “world”?
“helloworld”
Что вернет выражение 2 + 3 + “apples”?
“5apples”
Что вернет выражение “oranges” + 2 + 3?
“oranges23”
Что вернет выражение 6 - “2”?
4
Что вернет выражение “6” / “2”?
3
Что вернет выражение +”42”?
42
Что вернет выражение +”hello”?
NaN
Что делает префиксный инкремент/декремент?
изменяет значение переменной, возвращает новое значение.
Что делает постфиксный инкремент/декремент?
изменяет значение переменной, возвращает старое значение.
“abc” > “bcd”?
“abc” меньше “bcd”, поэтому результатом будет false.
“10” > “2”?
false, так как происходит посимвольное сравнение по коду, код цифры 1 меньше кода цифры 2
Что будет результатом сравнения строк “a” и “A”?
Маленькая буква “a” больше большой буквы “A” в таблице Unicode, поэтому результатом будет true.
Что будет результатом выражения null >= 0?
Null приводится к числу и становится 0, поэтому результатом будет true.
Что будет результатом выражения undefined > 0?
Undefined приводится к NaN, который в свою очередь приводится к false при любых сравнениях (кроме !== и !=), поэтому результатом будет false.
Что будет результатом выражения null == undefined?
Null и undefined равны друг другу и ничему больше, поэтому результатом будет true.
Что происходит при сравнении разных типов?
Все операнды приводятся к числу и сравниваются.
“2” > “12”
true. При сравнении операнды приводятся к числу, если они имеют разные типы. Здесь тип один, поэтому строки сравниваются посимвольно.
Как записывается условное ветвление?
let result = условие ? значение1 : значение2; Если условие верно, то в result будет значение1, иначе значение2.
Что вернёт выражение 0 || false || 2 || undefined || true?
2 (первое истинное значение)
Что вернёт выражение 1 && “string” && 0 && null && undefined?
0 (первое ложное значение)
Что вернёт выражение !!”false”?
true. Можно использовать вместо Boolean(), так как оператор «НЕ» сначала приводит аргумент к true/false, затем инвертирует его.
Что вернёт выражение Boolean(0)?
false
Что вернёт выражение !null && 2 || 3 && 4?
4 (первое истинное значение)
Какие типы циклов есть в JavaScript?
while, do..while, for.
Как прервать цикл?
Использовать оператор break.
Как перейти к следующей итерации цикла?
Использовать оператор continue.
Как прервать внешний цикл из внутреннего?
Использовать метки и оператор break с указанием нужной метки.
Как перейти к следующей итерации внешнего цикла из внутреннего?
Использовать метки и оператор continue с указанием нужной метки.
Какую функцию выполняет оператор switch?
Оператор switch выполняет последовательное сравнение значения переменной с аргументами case, и выполняет соответствующий блок кода для первого найденного совпадения.
Обязателен ли блок default в операторе switch?
Нет
Зачем используется ключевое слово break в блоках case?
Ключевое слово break используется для завершения выполнения оператора switch после выполнения соответствующего блока кода.
Что произойдет, если не указать ключевое слово break в блоке case?
Если не указать ключевое слово break в блоке case, то выполнение кода будет продолжено в следующем блоке case без выполнения сравнения значений.
Можно ли использовать выражения в блоках case?
Да.
Что произойдет, если не указать ключевое слово break после каждого блока case?
Если не указать ключевое слово break после каждого блока case, то выполнение кода будет продолжено в следующем блоке case без выполнения сравнения значений, и будут выполнены все блоки кода, начиная с первого соответствующего блока case.
Можно ли группировать блоки case?
Да, в виде
case 0:
case 1:
…
Что такое локальные переменные?
Локальные переменные - это переменные, объявленные внутри функции и не видимые за ее пределами.
Что такое внешние переменные?
Внешние переменные - это переменные, объявленные за пределами функции и доступные ей для чтения и записи.
Как изменить значение внешней переменной внутри функции?
Необходимо просто присвоить ей новое значение, например: externalVariable = newValue;
Можно ли использовать одно и то же имя переменной для локальной и внешней переменной внутри функции?
Да, можно. В этом случае функция будет использовать локальную переменную, а не внешнюю.
Как задать значение по умолчанию для параметра функции?
Необходимо указать значение параметра после знака “=”, например: function myFunction(param1, param2 = “default value”) { … }
Что вернет функция, если у нее нет return?
Если у функции нет return или он пустой (return;), то она вернет undefined.
Как написать return в несколько строк?
Необходимо использовать круглые скобки и переносить строку после оператора, например: return (some + long + expression + or + whatever * f(a) + f(b));
Что такое Function Declaration?
Function Declaration - это способ создания функции в JavaScript, при котором функция создается в основном потоке кода и доступна отовсюду, даже до места объявления.
Что такое Function Expression?
Function Expression - это способ создания функции в JavaScript, при котором функция создается внутри другого выражения или синтаксической конструкции, и недоступна глобально, только внутри этой конструкции.
В чем отличие между Function Declaration и Function Expression?
Основное отличие между Function Declaration и Function Expression заключается в том, что при использовании Function Declaration функция создается в основном потоке кода и доступна отовсюду, даже до места объявления, а при использовании Function Expression функция создается внутри другого выражения или синтаксической конструкции, и недоступна глобально, только внутри этой конструкции.
Какой синтаксис используется для создания стрелочных функций?
Для создания стрелочных функций используется следующий синтаксис: let имя_функции = (аргументы) => выражение.