[JAVASCRIPT] - Урок 1 - Первые три термина


Первый урок о JavaScript я бы хотела начать с трёх фундаментальных терминов. Знания о том, что означают эти слова, помогут вам в дальнейшем изучении JavaScript.

❗️❗️❗️ Синтаксический анализатор

или парсер - программа, которая читает ваш код и определяет что он делает, и валиден (valid) ли он.

То, что вы пишите на JavaScript - это ведь не магия, которая напрямую диктует компьютеру, что ему следует делать. Вы пишите код, а программа, которую кто-то уже написал, конвертирует ваш JavaScript во что-то еще, что понимает компьютер.

Язык процессора (устройства, машины, компьютера) называют машинным кодом, который выполняется процессором. Программу, преобразующую исходный код (JavaScript) в машинный язык, называют компилятором. А программу, читающую и выполняющую исходный код - интерпретатором.

Эти программы, компиляторы и интерпретаторы, читают ваш код: букву за буквой, проверяют правильный (валидный) ли он и переводят в код, который компьютер поймёт.

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

Синтаксический анализатор будет проверять букву за буквой.

Буквально, букву за буквой... F-U-N-C-T-I-O-N. О! Это функция, значит должен быть пробел и далее будет название функции... и т.д.

❗️❗️❗️ Лексическое окружение

(lexical environment): ГДЕ "сидеть" в вашем коде. Слово "лексическое" говорит о том, что мы имеем дело с грамматикой и словами. Так как мы говорим о коде, это синтаксис, словарь. Лексическое окружение существует в языках программирования, которым важно, ГДЕ вы пишите.

Если вы взглянете на код с картинки выше:

function hello() {
  var a = ‘hello golos’

}

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

Когда мы говорим о лексическом окружении ЧЕГО-ЛИБО в коде, мы говорим о том, где это ЧТО-ТО написано, что ЕГО окружает.

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

- упаковка, которой передается управление над выполняемым кодом.

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

// глобальный контекст выполнения
var hello = 'Hello';
var user = function() { // контекст выполнения функцции
  var nme = '@qqc';;
   vargetName = function() { // контекст выполнения функции
>     retun name;<e;
   }
   var sallo = function() { // контекст выполнения функции
br>      console.log(hello + ', ' + getName());
br>   }
   sallo();

}
user(); //Hello, @qqc!






















Комментарии 1


Чтобы читать и оставлять комментарии вам необходимо зарегистрироваться и авторизоваться на сайте.

Моя страницаНастройкиВыход
Отмена Подтверждаю
100%
Отмена Подтверждаю
Отмена Подтверждаю