Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
qqc
7 лет назад

[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 name = '@qqc';
   var getName = function() { // контекст выполнения функции
     return name;
   }
   var sayHello = function() { // контекст выполнения функции
     console.log(hello + ', ' + getName());
   }
   sayHello();
}
user(); //Hello, @qqc!

3
665.679 GOLOS
На Golos с November 2016
Комментарии (2)
Сортировать по:
Сначала старые