В этой статье мы обсудим некоторые основные расходы, связанные с собеседованием по JavaScript, и как избежать этого. Итак, давайте начнем

1. В чем разница между двойным равным (==) и тройным равным (===)?

Двойное равенство (==) проверяет значение, но тройное равенство (===) проверяет значение и тип данных. Двойное равенство не является более строгим, но тройное равенство очень строго по значению.

2. В чем разница между вызовом, применением и привязкой в ​​JS?

В JavaScript прототип каждой функции указывает на объект Function.prototype (JS основан на наследовании цепочки прототипов). Поэтому у каждой функции есть методы apply, call и bind, которые наследуются от функции.
У них одна и та же функция, они используются для изменения направления this в функции. Разница между call, apply и bind уже ясна.

3.Что такое окно, глобальная переменная, глобальная область действия?

окно - это объект. но это не обычный объект. Javascript все значение свойства имеет внутри объекта окна. В общем, мы используем console.log,documents.getElementById и т. д. Все они исходят из оконных объектов. объект окна является глобальным объектом. поэтому нам не нужно писать window.console.log, window.getElementById. тогда propertyName — глобальная переменная области видимости. и другой локальный масштаб руки. локальная область доступна из его собственной функции. в противном случае вернуть ошибку.

4. Что такое цикл событий JavaScript?

Цикл событий JavaScript означает, как работает среда JavaScript. JavaScript работает синхронно. синхронно означает, что JavaScript выполняет код последовательно один за другим. но когда мы используем установленную функцию тайм-аута. это работает по-разному асинхронно. Первый движок кода JavaScript выполняет код один за другим. Когда мы вызываем функцию JavaScript, а эта функция вызывает другую функцию, многие функции накладываются друг на друга. Он получает вывод на верхний стек. Затем это происходит много раз, и он продолжает ждать в стеке и в очереди. Когда установленный тайм-аут ждет готовности, он находится в резервной очереди. Он очищает работу стека, а затем вызывает очередь данных.

5.Что такое ДОМ?

DOM — это программное представление веб-страницы. Веб-страница состоит из различных типов HTML-элементов. DOM строит древовидную структуру, используя эти узлы, где некоторые узлы являются родительскими, а другие — дочерними.

6.Что такое функциональное программирование?

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

Функциональный код имеет тенденцию быть более кратким, более предсказуемым и легче тестируемым, чем императивный или объектно-ориентированный код, но если вы не знакомы с ним и связанными с ним общими шаблонами, функциональный код также может показаться намного более сложным, и соответствующая литература может быть непонятна для новичков. В приведенном выше невинно выглядящем определении содержится много идей, которые необходимо понять, прежде чем вы сможете понять смысл функционального программирования:

  • Чистые функции
  • Функциональная композиция
  • Избегайте общего состояния
  • Избегайте мутирующего состояния
  • Избегайте побочных эффектов

7.Что такое обещание?

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

Обещание — это объект, который может быть возвращен синхронно из асинхронной функции. Он будет находиться в одном из 3 возможных состояний:

  • Выполнено: будет вызвано onFulfilled() (например, было вызвано resolve())
  • Отклонено: будет вызван onRejected() (например, reject() был вызван)
  • В ожидании: еще не выполнено или отклонено

8.Что такое замыкание?

Замыкания важны, потому что они контролируют, что входит в область действия конкретной функции, а что нет, а также определяют, какие переменные являются общими для одноуровневых функций в одной и той же содержащей области. вместе (enclosed) со ссылками на окружающее его состояние (лексическое окружение).

9.Что такое пузырь событий?

Когда событие находится в элементе внутри другого элемента, и все элементы зарегистрировали дескриптор этого события, всплывающая подсказка событий является формой распространения событий в HTML DOM API. Это процесс, который начинается с элемента, вызвавшего событие, а затем перемещается вверх по иерархии к содержащим его элементам. Событие сначала захватывается и обрабатывается самым внутренним элементом всплывающей цепочки событий.

10.Что такое прототипное наследование?

Prototypal inheritance — это фундаментальная, мощная и часто неправильно понимаемая концепция JavaScript. Когда вы создаете функцию в JavaScript, она всегда будет иметь свойство prototype. (Функции могут иметь свойства, потому что они, по сути, являются объектами).