На собеседованиях мы сталкиваемся с множеством вопросов о js, и я пытаюсь помочь вам, отвечая на некоторые важные вопросы в разделе ниже.

Истинные и ложные значения

При тестировании условий в коде (if… else) нам нужно знать, какое из них истинно, а какое ложно.

Ложные значения

  1. 0
  2. неопределенный
  3. нулевой
  4. NaN
  5. "" (пустой строки)
  6. ложный

Истинные ценности

  1. ” “ (пробел со строкой)
  2. [] пустой массив
  3. {} пустой объект
  4. истинный

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

Нуль против неопределенного

Мы научились находить undefined с самого начала. Undefined можно найти разными способами, первый из которых — не присваивать значение переменной.

пусть а; // вывод не определен

Когда мы вызываем функцию, но не возвращаем значение внутри функции, результат не определен.

функция добавить (а, б){

сумма = а + б ;

}

// вывод не определен

Когда мы пытаемся получить доступ к свойству объекта, но это свойство недоступно, результат не определен.

Сфера

Если мы назначим переменную функции и попытаемся вызвать ее из-за пределов функции, переменная будет неопределенной, поскольку мы пытаемся получить доступ к области видимости из-за пределов функции. Когда мы назначаем переменную вне функции и пытаемся вызвать ее изнутри или снаружи, вывод появится, поскольку она вызывается из глобальной области видимости. Когда мы объявляем переменные в условных операторах (например, if…else) и пытаемся получить к ним доступ из вывода, это терпит неудачу, потому что это блочная область.

Разница между связыванием, вызовом и применением

Мы должны понять, как это работает, тогда мы сможем различать их.

связать

Мы создаем объект, в котором есть метод. Используя bind, мы можем применить этот метод к другим пользователям. В основном, мы заимствуем и используем методы у основного пользователя.

позвонить

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

применить

Единственная разница между вызовом и применением заключается в аргументе. Аргумент отправляется в виде массива.

setTimeout против setInterval

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

setInterval похож на setTimeout, за исключением того, что он работает бесконечно. Чтобы замкнуть бесконечную петлю, нужна другая функция, чтобы остановить эту функцию.

Как работает стек и очередь цикла событий в JavaScript

Стек вызовов будет отслеживать все действия, которые необходимо выполнить. Стек вызовов. Когда функция завершена, стек поднимается и отправляется в очередь событий. Язык однопоточный, но API в браузере — это разные потоки. Цикл событий непрерывно проверяет, является ли стек вызовов нулевым или нет. Новые функции из очередей событий будут вставлены, если они пусты.

Найдите самый большой элемент массива

Популярная концепция в интервью о решении проблем. Это типичная проблема на доске интервью. Я собираюсь решить и расширить эту проблему

пусть отметки = [44, 45, 88, 64, 99, 42, 66, 91, 78, 88];

пусть макс = отметки [0];

для(пусть i=0; i‹marks.length;i++){

пусть элемент = метки[i];

if (элемент › max){

макс = элемент;

}

}

console.log(макс.);

Вы должны сравнить этот код со значением хранилища, тогда вы сможете легко найти самый большой элемент.

Пузырь событий

Нам нужен пример, чтобы понять пузырь событий. Я покажу вам пример ниже.

‹див›

<ul>

<li>a</li>

<li>b</li>

</ul>

‹/дел›

‹/дел›

Установите обработчик событий в li, чтобы при нажатии на li отображался обработчик событий. В пользовательском интерфейсе мы добавили новый обработчик событий. Он будет отображать щелчок по пользовательскому интерфейсу при нажатии. Аналогично, перейдите в div. Из-за пузырька событий, когда мы нажимаем на div, он отображает все выходные данные обработчика событий.

Пусть, const, массив и объект объявлены с помощью const

Использование let и const с переменными распространено в es6. Когда вы используете let, значение должно измениться, а когда вы используете const, значение не должно меняться.

пусть а = 1;

a=2;

console.log(a);// можно изменить

константа =5;

a=2;

console.log(a);//ошибка

Вы можете изменить элементы в массиве или добавить новые элементы того же типа, но вы не можете изменить тип элемента массива.

константа = [1,2,3,4,5]

a.push(6)// все в порядке

a = ["привет","пока"] // ошибка

То же верно и для объектов.

Что такое ДОМ

Модель DOM — это интерфейс программирования HTML. Он показывает веб-сайт для того, чтобы программы могли изменить структуру документа, дизайн и содержание. DOM — это узел и цель документа. Затем вы можете подключиться к языкам вашего веб-сайта.

Веб-страница — это документ. Его можно просмотреть как исходный HTML-код в окне браузера. Однако в обоих случаях это один и тот же документ. Представлена ​​объектная модель документа (DOM) для управления документом. DOM — это изображение веб-страницы, которое можно изменить с помощью объектно-ориентированного сценария, такого как JavaScript.