Одинарная резьба

  • По одной команде за раз (возможно, под капотом браузера)

Синхронный

  • По одному и по порядку.

Призыв

  • Вызов функции в js с использованием круглых скобок ()

Переменная среда

  • Где находятся переменные и как они соотносятся друг с другом в памяти.

Сфера

  • Здесь в вашем коде доступна переменная. Это может быть новая переменная или новая копия

Асинхронные обратные вызовы

Асинхронный - несколько одновременно

  • Механизм рендеринга ‹-› Механизм javascript ‹-› HTTP-запрос
  • Это происходит асинхронно внутри браузера, но синхронно внутри движка javascript.
  • Как это происходит в движке javascript v8?
  • Есть стек выполнения и очередь событий, такая как событие щелчка, и HTTP-запрос помещается в очередь. Очередь событий просматривается javascript, когда стек выполнения пуст
  • Когда стек выполнения пуст, js периодически просматривает очередь событий и ожидает, что там что-то будет, и проверяет, будет ли эта функция выполняться после того, как событие было инициировано.
  • Таким образом, он видит событие щелчка, обрабатывает clickHandler () и создает контекст выполнения для этой функции после того, как эта функция обрабатывается следующим элементом в очереди, перемещающимся вверх. Он не будет обработан, пока стек выполнения не станет пустым.
  • На самом деле это не асинхронно, браузер помещает вещи в очередь асинхронно, но код выполняется построчно, и когда контекст выполнения пуст, он обрабатывает событие в очереди.

Динамический набор текста

  • Вы не говорите движку, какой тип данных содержит переменная, он вычисляет это во время выполнения вашего кода. Переменные могут содержать разные типы значений, потому что все это выясняется во время выполнения.

Операторы

  • Специальная функция, которая синтаксически (написана) иначе. Обычно операторы принимают 2 параметра и возвращают результат.

Приоритет оператора

  • Какая функция вызывается первой. Функции вызываются в порядке приоритета (более высокий приоритет побеждает)

Ассоциативность

  • В каком порядке вызываются операторные функции: слева направо или справа налево (когда функции имеют одинаковый приоритет)

Принуждение

  • Преобразование значения из одного типа в другой. Это часто случается в javascript, потому что он динамически типизирован.

Функция первого класса (FCF)

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

Выражение

  • Единица кода, которая приводит к значению. Его не нужно сохранять в переменную.

Мутировать

  • Чтобы изменить что-то «неизменное, изменить нельзя»

Аргументы

  • Параметры, которые вы передаете функции, JavaScript дает вам ключевое слово, содержащее список всех значений всех параметров, которые вы передаете функции.

Закрытие

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

function greet(whattosay){
  return function(name){
  console.log(whattosay + ‘ ’ + name);
 }
}
//We are invoking a function that returns a function so that we can invoke the returned function
greet(‘Hi’)(‘Tony’); // OUTPUT : Hi Tony

Пробел

  • Невидимые символы, которые создают буквальный «пробел» в вашем написанном коде, возврат каретки, табуляции, пробелы

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

  • Функция, которую вы передаете другой функции, которая будет запущена, когда другая функция будет завершена. Таким образом, функция, которую вы вызываете (то есть вызываете), «перезвонит», вызывая функцию, которую вы ей дали, когда она завершится.

Каррирование

  • Создание копии функции с некоторыми предустановленными параметрами - очень полезно в математических ситуациях

var multipyByTwo = multipy.bind(this,2) multipyByTwo(3); // OUTPUT - 6

Наследование

  • Один объект получает доступ к свойствам и методам другого объекта
  • Классическое наследование
  • - Verbose (очень большой)
  • - Ключевые слова, такие как друг, защищенный, частный, интерфейс и т. Д.
  • Прототипное наследование
  • - Простой
  • - Гибкий
  • - Расширяемый
  • - Легко понять

Отражение

  • Объект может смотреть на себя, перечисляя и изменяя свои свойства и методы. Его можно использовать для создания очень полезного расширения паттерна.

Полифилл

  • Код, который добавляет функцию, которой может не хватать движку.

Синтаксический сахар

  • Другой способ печатать что-то, что не меняет принцип работы под капотом.

Кредиты

Необходимое условие

  • Основы Javascript
  • Желание учиться
  • 35 мин.

Подпишитесь

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

Первоначально опубликовано на https://thatjs.dev.