Рабочий процесс JavaScript-

Javascript — это интерпретируемый язык, и этот язык программирования разработан для работы в браузере. Как мы знаем, язык программирования должен компилироваться перед запуском и выполнением, но javascript не нуждался в этом компиляторе. Интерпретатор в браузере или движок браузера сделал эту компиляцию для кода javascript, и именно так интерпретаторы браузера интерпретируют каждую строку кода javascript, запускают и выполняют ее.

Например: в браузерах Chrome это движок v8, в Firefox это Spidermonkey.

Процесс выполнения кода JavaScript в браузере-

Если мы хотим знать, как код javascript выполняется в браузерах, нам нужно знать два шага:

1. Контекст выполнения (этап выделения памяти, этап выполнения кода)

2. Стек вызовов

Контекст выполнения:

Все вещи в javascript объединены в этот контекст выполнения. Это похоже на контейнер, который содержит всю информацию, и пошаговый код javascript выполняется безболезненно.

Контекст выполнения состоит из двух шагов или двух фаз:

Этап выделения памяти=Все наши функции и переменные JavaScript сохраняются в виде пары "ключ-значение" на этом этапе выделения памяти. Вся функция была скопирована в блок памяти.

Этап выполнения кода= Эта фаза кода JavaScript выполняется построчно.

Стек вызовов:

Javascript поддерживает контекст выполнения, помещая новый контекст в стек. Javascript продолжает следовать этим шагам до тех пор, пока этот стек не станет пустым или нет.

Различия между "==" и "==="

«==» проверяет только одно условие, например, на равенство значений, тогда как «===» — это проверка двух условий, таких как проверка на равенство, и возвращает false, если значение или тип двух переменных различны.

функция обратного вызова

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

Вернуть более одного значения из функции-

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

связать, вызвать и применить-

Call=Аргументы проходят один за другим через этот метод вызова. И мы можем передать любую функцию

Apply=Мы можем передавать аргументы в виде массива через это применение всякий раз, когда вызывается

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

Bind принимает 1 аргумент.

Apply принимает 2 аргумента.

Вызов принимает 3 аргумента

Замыкание в JavaScript

Закрытие в javascript — это способ обработки функций и переменных. Замыкание создается при создании функции. Если функция находится в области действия внешней функции, то закрытие упрощает доступ к этой внешней функции, оставаясь во внутренней функции. В основном внутренняя функция имеет возможность доступа к внешней функциональности, что является силой этой концепции закрытия.

Всплывающие события в js-

Концепция пузырькового события в javascript похожа на то, что событие происходит по причинам, которые должны выполнять все причины или события, если или пока они не достигнут своего родительского события и не будут поддерживать подход «снизу вверх». Итак, если событие произошло, то сначала будет запущен самый внутренний элемент, и он распространится на внешние элементы по направлению к его корню или родителям.

Подъем в JavaScript-

Подъем — это способ взять все объявления в верхней части области, это означает, что они должны быть до выполнения кода. Это поднятие похоже на то, когда мы объявляем функции и переменные, это вообще не имеет значения, вызванное поднятием, мы можем получить к нему доступ из глобальной или локальной области видимости.

рекурсивная функция-

Внутри функции функция, вызывающая сама себя, является рекурсивной функцией. Рекурсивная функция должна иметь условие, чтобы перестать вызывать себя, как оператор return с условием if. В противном случае функция будет вызываться бесконечно, и это вызовет ошибку.

Разница между undefined и null

Поскольку просто null — это специальное значение, означающее отсутствие значения или объекта.

Null — это особый объект, потому что если мы видим тип null, мы видим, что он возвращает «объект».

undefined означает, что переменная не была объявлена ​​или ей не было присвоено значение, значение не существовало.

Различные типы данных в JavaScript-

Мы можем видеть два типа данных. Примитивные и непримитивные. Но есть и другие данные, называемые специальным типом.

Здесь мы увидим примитивные типы данных и непримитивные типы данных.

Примитивные типы данных = строка, число, логическое значение

Непримитивные типы данных = объект, массив, функция

ДОМ-

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

Является ли JavaScript статическим или динамическим типом?

Javascript — это язык с динамической типизацией. Мы все знаем, что в динамических типах переменных проверяется их тип во время выполнения. И статически тип перед объявлением переменной мы должны сказать, что это переменные целочисленного типа или это переменные строкового типа. Для javascript нам не нужно было рассказывать, поэтому javascript — язык с динамической типизацией.

Всплывающие окна доступны в JavaScript

3 типа-

1. Поле предупреждения 2. Поле подтверждения 3. Поле подсказки

Мы видим только одну кнопку в окне предупреждения, и это кнопка «ОК». Но в окне подтверждения мы видим две кнопки: одна кнопка «ОК», а другая — кнопка «Отмена».

операторы break и continue-

Оператор Break выходит из текущего цикла.

В операторе break программа выходит из непосредственных циклов и не проверяет никакие другие операторы.

И оператор continue программа переходит к следующему оператору своего программного цикла.

Различные типы ошибок в JavaScript-

Существует три типа ошибок:

  1. Ошибка времени загрузки = есть определенное время для загрузки веб-страницы, если она не загружается вовремя, мы увидим некоторые ошибки, такие как ошибка подключения, неверный запрос.
  2. Ошибка выполнения = если есть проблемы с каким-либо кодом, вы столкнетесь с этой ошибкой.
  3. Логическая ошибка = если логика неверна, код сломается и покажет нам ошибку

Чувствителен ли JavaScript к регистру?

Да, JavaScript ведет себя как язык программирования с учетом регистра. Например: parseInt или parsefloat не будут работать, если мы по ошибке напишем их неправильно, например: parseint или parseFloat.

Связанные сценарии JavaScript и ECMA

Как поведет себя язык программирования, почему мы назвали javascript языком программирования, потому что все эти правила написаны на языке ECMA Script. Таким образом, Javascript и ECMA Script связаны как правила и рекомендации языка программирования.

Область действия и цепочка областей видимости в javascript-

Область действия в javascript — одно из важных понятий. В основном это означает доступность переменных и функций, где мы можем получить доступ, а где нет.

3 типа прицела-

  1. Глобальный масштаб
  2. Локальный, также известный как область действия.
  3. Область блока

Global Scope= Если какие-либо функции и переменные объявлены в глобальной области действия, каждый может получить доступ к этим переменным и функциям.

Function Scope= Если какие-либо функции и переменные объявлены в Function/Local Scope, доступ к этим переменным и функциям возможен только внутри этой области действия.

Область блока=Эта концепция области действия блока предназначена только для переменных let и const, var не имеет такой области действия, поскольку это переменные более старой версии. Только переменные, объявленные внутри блока, могут быть доступны внутри этого блока, но не снаружи.

Функции ES6 в js-

ES6 — это обновленная версия JavaScript ES5. И эта версия была представлена ​​​​в 2015 году, и все правила и рекомендации ES6 были написаны на ECMAScript для более подробной информации.

Итак, в обновленной версии javascript были внесены некоторые изменения, мы говорим о версии ES6, а новые функции ES6 -

  1. let и const Ключевые слова
  2. Стрелочные функции
  3. Многострочные строки
  4. Параметры по умолчанию
  5. Литералы шаблонов
  6. Расширенные литералы объектов
  7. Разрушение
  8. Обещания
  9. Классы
  10. Модули

Различия между var, let и const-

Нет никаких ограничений или граничных условий для использования var в качестве переменной. Таким образом, в версии ES6 мы можем объявлять переменные с помощью let и const, где раньше мы могли изменять наши переменные с помощью var, но используя ключевое слово const, мы не можем изменить значение и не можем повторно объявить, если однажды мы его объявили, иначе он покажет ошибка в том, что мы не можем переопределить значение константных переменных. Переменные let могут быть обновлены позже, но не могут быть переобъявлены в пределах своей области действия. Таким образом, эти ограничения связаны с объявлением переменных let и const.

используются параметры по умолчанию-

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

Оператор спреда работает

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

Разница между классом и объектом-

В общем, объект — это сущность реального мира, которую можно описать как объект. А класс — это контейнер, родитель, шаблон, проект, в котором созданы все объекты. Итак, мы можем сказать, что объект является экземпляром класса.

Вызов по значению и вызов по ссылке

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

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

API-

API означает интерфейс прикладного программирования. С помощью этого API два приложения могут взаимодействовать друг с другом с помощью безопасного HTTP-соединения. API позволяет легко читать данные и извлекать данные из Интернета, а также повторно использовать данные, которые необходимы, где люди могут создавать хорошие продукты или услуги. используя эти API. Пример: API погоды.

Разница между Get и Post

Два наиболее часто используемых HTTP-запроса — это get и post. Метод get используется для просмотра данных, и мы не хотим изменять эти данные. Но в методе post он используется для изменения данных или обновления текущих данных. В основном метод get используется для просмотра данных, а метод post используется для вставки новых данных или обновления текущих данных.

Разница между локальным хранилищем и хранилищем сеанса и файлами cookie-

Если мы хотим сохранить данные в браузерах пользователей, чтобы они записывали, что они делали, если в Интернете не возникало проблем. Затем мы можем сохранить эти данные двумя способами. Один из них — sessionStorage, а другой — localStorage. Основное отличие заключается в том, что данные sessionStorage уничтожаются после закрытия браузера, а с другой стороны, данные localStorage не будут уничтожены, независимо от того, были закрыты браузеры или нет.

файлы cookie, зачем мы будем их использовать-

Файлы cookie — это не что иное, как своего рода протокол, который позволяет пользователям узнавать о поведении пользователей и показывать результаты по этим критериям. Значения файлов cookie хранятся на клиенте, чтобы установить взаимные сценарии браузеров и сервера, такие как чтение и запись файлов cookie для пользователей. Javascript также может использовать этот файл cookie и управлять файлами cookie с помощью сценариев.

объектно-ориентированное программирование в js-

Объектно-ориентированное программирование началось из-за повторного использования данных и более эффективной организации проекта. Четыре основные концепции ООП — это наследование, абстракция, полиморфизм и инкапсуляция. Таким образом, мы можем организовать код более эффективно, так как мы можем повторно использовать наш код и легко поддерживать код.

Разница между Array и LinkedList.

Мы видим, что массив — это набор элементов с одинаковым типом данных, хотя он не обязательно должен быть похожим. Но связанный список — это набор объектов, в которых данные связаны друг с другом, указывая на адрес заголовка, а следующий — на следующее значение. Массив хранится в той же ячейке памяти. Где связанный список может храниться в любом месте в ячейке памяти, потому что связанный список хранит базу данных адреса.

отладка приложения JavaScript-

Как разработчик, мы должны писать код, а также быть готовыми к обработке ошибок в наших кодах. А исправление и поиск исправления кода также называют отладкой. Разработчики программного обеспечения пытаются разными способами исправить ошибку.

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

Для разработчиков javascript мы можем использовать инструмент разработчика Chrome для отладки всех этих методов и поиска ошибок, которые мы ищем в нашем коде.

функция стрелки-

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

const имя_функции = (аргумент1, аргумент2) => { }

.

литералы шаблонов в ES6-

Этот литерал шаблона — одна из лучших функций ES6. Это позволяет нам добавлять более одного выражения и строковых литералов. Таким образом, мы можем динамически помещать строковые литералы в обратную кавычку (` `). И это так полезно, потому что теперь мы можем динамически обрабатывать логику, если нам это нужно.

Разрушение t в ES6-

Если мы хотим получить доступ к некоторым значениям внутри любых объектов и массивов, нам нужно перебрать эти данные в цикле, и этот цикл по данным предназначен только для доступа к данным из объектов и массива. Но в методе деструктурирования в ES6 так просто мы можем получить доступ к этим данным и извлечь данные из основного контейнера, и теперь нам не нужно зацикливать весь массив или объект. Просто напишите третью скобку [] или вторую скобку для деструктуризации любого массива и объектов.

IIFE (немедленно вызываемые функциональные выражения)-

Мы знаем, что функция IFFE запускается сразу после ее определения. Мы знаем эту функцию как самовыполняющуюся анонимную функцию.

Обсудить for... в цикле? Обсудить for… цикла?

Если мы хотим пройтись по объекту, мы используем for..in в цикле. И когда нам нужно перебрать массивы или строки, мы используем цикл for..of.

Карта в js-

Если мы хотим извлечь данные из массива объектов, нам нужно пройтись по ним, а затем сохранить каждый элемент в отдельной переменной для идентификации каждого элемента. Но при использовании карты нам не нужен цикл for и объявление переменной для сохранения данных. Мы можем использовать карту, чтобы сделать это легко, и эта карта будет выполнять ту же работу, что и мы, для цикла по массиву и сохранения их в отдельное значение. Таким образом, эта карта очень эффективна для написания эффективного кода.

Обещания в ES6-

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

Обещание имеет три состояния:

1.Pending=обещание еще не выполнено

2.Fullfilled= успешное возвращение обещания

3.Rejected=обещание возвращено безуспешно

Это все на сегодня.

Спасибо

MD МУСТАФИЗУР РАХМАН

Поддержите меня на Youtube: https://www.youtube.com/channel/UCU_GV9uLrxHl4-1WkTPzr1g

Linkedin: https://www.linkedin.com/in/md-mustafizur-rahman-sayem-22b856156/

Github: https://github.com/rahmancoder