моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Частые вопросы на собеседованиях по JS-интерфейсу охватывают многие аспекты, включая базовый синтаксис, структуры данных и алгоритмы, операции DOM, асинхронное программирование, модульность, использование фреймворков/библиотек и т. д. Ниже приведены некоторые распространенные вопросы на собеседованиях по JS для внешнего интерфейса и их краткий анализ:
var
、let
、const
Какая разница? Какова их сфера применения и жизненный цикл?i++
и++i
Какая разница?break
иcontinue
Чем он отличается от использования в цикле?push
、pop
、shift
、unshift
、splice
、slice
、join
、sort
ждать)JSON.parse(JSON.stringify(obj))
, оператор распространения, рекурсия и другие методы)Promise.all
иPromise.race
?import
/export
), и в чем его преимущества?this
указывая правила и производительность в различных сценариях.Примеры вопросов: Пожалуйста, объясните механизм цепочки прототипов в JavaScript.
анализировать:
__proto__
Свойства (рекомендуются в ES6Object.getPrototypeOf()
метод), это свойство указывает на его конструкторprototype
Атрибуты.Object.prototype
)。null
, что указывает на то, что объектов-прототипов для поиска больше нет.1. Какие типы данных существуют в JavaScript? Какая между ними разница?
отвечать:
В JavaScript существует 8 типов данных, включая базовые типы данных (Primitive Types) и ссылочные типы данных (Reference Types).
Основное различие между примитивными типами данных и ссылочными типами данных заключается в том, как они хранятся и назначаются. Значения базовых типов данных хранятся в памяти стека, причем значения копируются непосредственно во время присваивания, тогда как значения ссылочных типов данных хранятся в памяти кучи, а в памяти стека хранятся ссылки (т.е. адреса) на значения; в куче памяти, которые копируются во время присваивания, являются ссылкой.
2. Поговорим об области видимости и замыкании в JavaScript?
отвечать:
Объем : относится к допустимому диапазону идентификаторов, таких как переменные и функции, в блоке кода. В основном JavaScript имеет две области видимости: глобальную и локальную (включая область действия функции, область уровня блока и т. д.). Переменные в глобальной области видимости видны во всем сценарии, тогда как доступ к переменным в локальной области возможен только внутри блока кода, в котором они определены.
Закрытие : означает, что функция запоминает свою лексическую область видимости и имеет доступ к ней, даже если функция выполняется за ее пределами. Основное использование замыканий — инкапсуляция частных переменных, создание модулей и т. д. Замыкания позволяют функциям получать доступ к переменным вне функции и манипулировать ими, и эти переменные нелегко испортить или изменить даже вне функции.
3. Объясните асинхронное программирование и Promise в JavaScript?
отвечать:
Асинхронное программирование : означает, что порядок выполнения кода не основан на порядке записи, а определяется на основе выполнения определенных условий (таких как сетевые запросы, чтение и запись файлов и т. д.). JavaScript является однопоточным, но реализует асинхронное программирование посредством циклов событий и функций обратного вызова.
Обещать : новый объект, представленный в ES6 и используемый для обработки асинхронных операций. Объект Promise представляет операцию, которая может быть не завершена сейчас, но завершится (или завершится неудачей) в будущем, а также ее значение результата. Промис имеет три состояния: ожидание (в процессе), выполнено (успешно) и отклонено (не выполнено). С помощью Promise мы можем писать асинхронный код синхронно, делая код более кратким, простым для понимания и обслуживания.
4. Поговорим о всплытии и захвате событий в JavaScript?
отвечать:
Всплывание событий : означает, что событие начинается с целевого элемента, а затем распространяется до верхнего уровня дерева DOM (то есть объекта документа). В процессе всплывания событий любой уровень элементов DOM может захватывать событие и обрабатывать его.
захват событий : В отличие от всплытия событий, захват событий начинается в верхней части дерева DOM, а затем распространяется вниз к целевому элементу. В процессе захвата событий любой уровень элементов DOM может перехватить событие и обработать его.
В JavaScript вы можете установить метод обработки событий через третий параметр метода addEventListener, то есть использовать всплывание событий или захват событий. Если третий параметр имеет значение true, это означает использование перехвата событий, если он имеет значение false или опущен, это означает использование всплывания событий;
5. Какие новые функции представлены в ES6+?
отвечать:
В ES6 (ECMAScript 2015) и последующих версиях было представлено множество новых функций, включая, помимо прочего: