Введение в Как работает JavaScript?

JavaScript - это язык сценариев, который используется в браузере для взаимодействия с интерфейсом. Брендан Айх был первым, кто создал движок JavaScript для веб-браузера Netspace Navigator в Netspace. Он реализован на C и его кодовое имя было SpiderMonkey. Первоначально проект назывался Mocha, затем переименовывался в LiveScript и, наконец, когда Netspace и Sun заключили лицензионное соглашение, он снова был переименован в JavaScript. В этой теме мы собираемся узнать о том, как работает JavaScript. Должно быть, мы слышали о популярных движках, таких как V8, Spider Monkey и многих других. Разные движки имеют разные «кодовые имена», например:

  • V8 - двигатель, используемый в Opera & Chrome.
  • SpiderMonkey - движок, используемый в Firefox.
  • Trident, Chakra - движок, используемый в IE & Nitro.
  • ChakraCore - движок, используемый в Microsoft Edge.
  • SquirrelFish - движок, используемый в Safari.

Движок, используемый для JavaScript, состоит из двух основных компонентов:

  • Память кучи - это место, где происходит выделение памяти.
  • Call Stack - это место, где стеки вызываются и выполняется код.

НОТА:

JavaScript, однопоточный язык программирования, что означает, что он имеет один стек вызовов и, таким образом, он способен выполнять одну вещь за раз. Стек вызовов в основном представляет собой структуру данных, которая записывает точку в программе, которая фактически выполняется. Этот стек вызовов аналогичен другому стеку, имеющему базовую функциональность, например, если мы вступаем в функцию, мы помещаем ее на вершину стека. Мы должны выскочить из верхней части стека, если мы хотим вернуться из функции. Это основная функциональность каждого стека. Поскольку мы обсуждаем движки, которые управляют функциями JavaScript, действительно сложны, но основные вещи, которые каждый движок выполняет в более широком смысле, следующие:

  • Если браузер читает скрипт, то движок встроен в сам браузер.
  • После прочтения сценария он преобразует («компилирует») сценарий в машинный язык.
  • И тогда машинный код работает, довольно быстро.

Что может делать JavaScript в браузере?

  • Он изменяет существующий контент, изменяет стили, добавляя новый HTML на страницы.
  • Предоставляет такие функции, как щелчок мыши, наведение мыши и т. Д., Которые реагируют на действия пользователя.
  • Отправляйте и получайте запросы по сети на удаленные серверы, не загружая всю страницу как пользовательский ввод. Одной из таких технологий, которая очень известна, является AJAX.
  • С помощью JavaScript можно устанавливать и получать значения файлов cookie, предоставлять пользователям сообщения для информации, оповещения и других целей.
  • Также может хранить временные данные на стороне клиента.

Что НЕ МОЖЕТ делать в браузере JavaScript?

Возможности JavaScript несколько ограничены в браузере ради безопасности пользователя. Цель состоит в том, чтобы предотвратить доступ какой-либо сторонней веб-страницы к частной информации или нанести ущерб данным пользователя. Некоторые сценарии для этого вида ограниченного доступа:

  • По умолчанию JavaScript на веб-странице ограничен для чтения / записи произвольных файлов на жестком диске, их копирования или выполнения программ. Он даже не имеет прямого доступа к системным функциям ОС. Немногие современные браузеры также позволяют ему работать с файлами, но к тому же доступ ограничен и предоставляется только в том случае, если пользователь выполняет определенные действия, такие как «перетаскивание» файла в окно браузера. Также доступны некоторые способы взаимодействия с камерой / микрофоном и другими устройствами, но это также требует явного разрешения пользователя. Таким образом, страница с поддержкой JavaScript не может тайно включать веб-камеру или может отправлять информацию на удаленный сервер или третьим лицам.
  • Различные вкладки или окна обычно не знают друг о друге экземпляров. Но технически это очень возможно. То же самое называется «Политика единого происхождения». Чтобы одно и то же работало, оба экземпляра должны содержать какой-то специальный код JavaScript, который может обрабатывать обмен данными между собой. Но опять-таки есть ограничение для безопасности пользователя. Например, веб-страница с URL-адреса abc.com, которую открыл пользователь, не должна иметь доступа к другой вкладке браузера с URL-адресом xyz.com и тайно красть информацию.
  • С помощью JavaScript можно легко общаться по сети с любым удаленным сервером или третьей стороной, с которой пришла текущая страница. Но по соображениям безопасности его способность получать или отправлять данные с других сайтов или доменов отключена. Но то же самое все еще возможно, для чего некоторые работы JavaScript требуют явного согласия с удаленной стороны. Такое ограничение будет невозможно обеспечить, если JavaScript будет использоваться вне браузера, а не внутри, то есть либо с сервера. Вы также можете заметить, что некоторые современные браузеры позволяют устанавливать плагин или расширения, с помощью которых JavaScript, используемый внутри браузера, получает расширенные разрешения.

Что делает JavaScript уникальным?

  • Как все мы знаем, это объектный язык сценариев.
  • Это написано на C. Это интерпретируемый язык.
  • Чистый JavaScript быстрее в доступе к DOM.
  • Благодаря использованию JavaScript, пользователь получает больший контроль над браузером.
  • Он также может обрабатывать дату и время.
  • Он также может обнаружить браузер пользователя и даже ОС.
  • Это легкий.
  • Это язык сценариев, как уже говорилось.
  • Это язык сценариев на основе интерпретатора.
  • Он чувствителен к регистру, т.е. синтаксис чувствителен к регистру.
  • Это объектно-ориентированный язык, так как он предоставляет предопределенные объекты, такие как Java, но это не Java.
  • Каждый оператор в JavaScript должен заканчиваться точкой с запятой (;).
  • Самая важная вещь, которую обеспечивает JavaScript - это возможность создавать новые функции в скриптах. Можно объявить функцию в JavaScript, используя функцию
  • Полная поддержка HTML и CSS.
  • Это очень простой в использовании.
  • Поддерживает все браузеры.

Ограничения работы JavaScript

Среди множества преимуществ JavaScript также есть некоторые ограничения, которые приведены ниже:

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

Вывод

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

Рекомендуемые статьи

Это было руководство по работе с JavaScript. Здесь мы обсудили основные понятия, ограничения и то, что делает JavaScript уникальным среди других. Вы также можете посмотреть следующие статьи, чтобы узнать больше:

  1. Шпаргалка JavaScript
  2. Использование JavaScript
  3. JavaScript против JScript
  4. C # против JavaScript
  5. Математические функции в JavaScript
  6. Навигатор в JavaScript | Свойства, методы (примеры)