Недавно я участвовал в реакционном хакатоне, организованном Clever-tap. Я многому научился, пока пытался ответить на вопросы. В этой статье я поделюсь вопросом, с которым столкнулся во время хакатона.
Q1. Как мы можем настроить область видимости файла cookie?
Ответ:Атрибуты Domain
и Path
определяют область файла cookie. "Читать далее".
Вопрос 2. Что будет напечатано в консоли?
Правильный ответ для приведенного выше кода:
.
.
C) ‘0|не определено|2’
Давайте посмотрим, как. Но перед этим давайте поправим код и напишем его красиво.
Вопрос 3. Оператор a===b относится к ?
a). И a, и b равны по значению, типу и ссылочному адресу
b). И a, и b равны по значению и типу
c). И a, и b равны по value
d). Неверный оператор
.
.
Правильный ответ: b). И a, и b равны по значению и типу. === Сравнивает только значение и тип, никогда не сравнивает ссылку.
Q4. Что будет напечатано в консоли.
Таким образом, этот вопрос проверяет знание области действия и приоритета области действия. В приведенном выше коде приоритет будет отдан внутреннему x
, и, следовательно, undefined будет зарегистрирован в консоли.
В5. Что будет напечатано в консоли?
.
.
.
Этот Вопрос пытается проверить знание области действия, подъема, IIFE, объявления переменных. В консоли будет напечатано undefined
. Потому что срок службы a
и b
только внутри этого IIFE.
Вопрос 6. Как вставить многострочный комментарий в JS?
Ответ: /* ……. Что-либо */
Q7. Что будет напечатано в консоли?
Так что это было очень интересно. Я был очень смущен этим. Этот вопрос проверял знания в области определения, подъема и переопределения возможностей JS.
.
.
.
Таким образом, правильный ответ для этого d. п п п . Поскольку в JS объявление функции поднимается, последнее объявление переопределяет первое.
В.8. В синтаксисе переключателя выражение сравнивается с метками case, используя какой из следующих операторов?
Этот вопрос пытается проверить понимание работы переключателя. Это очень интересный вопрос. Увидев этот вопрос, я подумал, действительно ли я знаю, как работает переключатель в JS.
Прежде чем ответить на вопрос выше, позвольте мне поделиться другим вопросом:
Что будет напечатано в консоли?
.
.
.
Пожалуйста, попробуйте сами ответить на вышеуказанный вопрос. :)
Вопрос 9. СИМВОЛЫ. Какие из следующих правильны?
а. Символ является производным типом в JS
b. Символ автоматически преобразуется в строку с помощью приведения
c. Свойства символа, определенные в объекте, участвуют в цикле for ..in
d. Символ используется для добавления уникальных ключей свойств к объекту
.
.
.
Символы появились в ES6, и основная их цель — предоставить уникальные ключи свойств.
Подробнее о символах можно прочитать здесь.
В.10. Что будет напечатано в консоли?
Это очень популярный, а также распространенный вопрос в наши дни. Об этом спрашивают почти все.
Этот вопрос проверяет знание области видимости и подъема в JS.
.
.
.
Вывод приведенного выше кода будет 4,4,4,4
, потому что после завершения цикла значение i
будет 4
, а поскольку мы используем var
для объявления переменной, ее значение захватывается всеми экземплярами setTimeout и, наконец, 4,4,4,4
будет напечатано.
.
Можете ли вы исправить код, чтобы он печатал 0,1,2,3
.
.
Здесь я даю два способа чтобы исправить это:
В.11. Что будет напечатано в консоли?
Этот вопрос не так прост, как кажется. Он проверяет концепцию на предмет хостинга и закрытия.
.
.
.
Правильный ответ на этот вопрос: c. 10 .
.
.
.
Если вы знаете причину как? Вы на правильном пути в изучении JS. Если нет, то вот объяснение:
Каждая функция, возвращаемая в цикле for, создает замыкание переменной i
. Узнайте больше о закрытии здесь.
И переменная i
объявлена с использованием var
, что делает ее доступной для всей функции. И когда мы вызываем функцию, используя funcs[5]()
, она возвращает значение i
, равное 10.
В.12. Что будет напечатано в консоли?
.
.
.
Правильный ответ: б. правда ложь
Как?
Q. 13 В чем основное отличие b.w. localStorage и sessionStorage?
а. срок службы
б. область применения
c. как a, так и b
d. место хранения
.
.
.
Итак, основное отличие заключается в продолжительности жизни. Хранилище сеансов исчезает, как только пользователь закрывает браузер, в то время как localStorage сохраняется.
В.14. Что будет напечатано в консоли?
Это был мой любимый вопрос среди всех. Этот вопрос проверяет ваше понимание цикла событий.
.
.
.
Правильный ответ c. 1 4 3 2
Как ?
Цикл событий проверяет наличие задачи во многих очередях задач. Некоторыми очередями задач являются очередь задач рендеринга, очередь микрозадач и очередь обратного вызова.
Первые две консоли будут напечатаны сразу 1 и 4. Теперь бой ч.б. setTimeout и обещание.
Обещание, являющееся микрозадачей, войдет в очередь микрозадач и будет выполнено перед очередью обратного вызова. В результате получается последовательность 1 4 3 2.
После хакатона мне стало ясно, какие вещи требуют большего внимания. Я надеюсь, что эти вопросы также заставят вас выбрать новые вещи для изучения.