JavaScript

JavaScript


JavaScript - это язык, изначально создан для того, что бы сделать WEB приложения более интерактивными, на данный момент имеет кучу других применений, вплоть до браузерных игр и back-end разработки.

В частности, при взаимодействии с HTML используется тег <script>, внутри которого записывается код JS.

С помощью JS можно создавать переменные(var), функции(function), циклы(for, while); удобно взаимодействовать с DOM-деревом, локальными хранилищами; перенаправлять вводы куда-либо и вообще много чего интересного.

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

Разберем некоторые.

С арифметическими все ясно - +, -, *, /; оператор деления по модулю - %, результатом которого является остаток от деления; еще есть такие операторы как энкримент и декримент, записываются так: ++, -- и в случае с плюсом увеличивает аргумент на единицу, с минусом соответсвенно уменьшает.

Логические операторы - операторы принимающие только два значения, которые называются "булевы" - true или false. Записываются так: && - и, || - или, ! - не. Ничего не понятно, но и не должно, логические операторы довольно сложная тема и мы в нее лезть особо не будем. 

Встроенных функции в JS очень много, по этому вот для примера: document.write(), eval(), alert(); Однако есть и создаваемые функции, те, которые пользователь может объявить сам с помощью оператора function(), в общем виде выглядит так:
function имя_функции(аргументы){
         код;
        }

Еще результат функции можно перенаправить в пеерменную, с помощью оператора var, таким образом:
var func = имя_функции(), да и с помощью этого оператора, можно что угодно перенаправить в переменную)

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

Еще в ЯПах часто применяется эскейпинг - это методика необходимая для того, что бы интерпритатор воспринимал спецсимволы как обычные символы.

DOM дерево.

DOM (document object model) - это модель HTML документа которая создается в оперативной памяти, и с которой можно взаимодействовать с помощью языков программирования. Нечто посередине между HTML и JavaScript. У DOM есть разные функции для работы с ним, а его корнем является "document":
document.getElementById(id) - получение доступа к элементам документа
document.createElement(element) - создание элемента
element.innerHTML - изменение существующего элемента
И другие...

XHR

XHR(XMLHttpRequest) - это функция, расширяющий возможности JS за рамки простого изменения стилистики страницы, она позволяет javascript'у делать HTTP запросы.

В общем виде XHR запрос выглядит таким образом:

var xhr = new XMLHttpRequest(); - означает, что мы указали переменную, которая собственно и создает эту функцию
xhr.open("GET", "https://pornhub.com/bigblackboobs", false); - собственно задает опции для запроса, в данном случае мы говорим, что запрос у нас будет осуществляться методом GET, на ресурс https://pornhub.com/bigblackboobs, а false означает, что запрос будет синхронный, что в свою очередь значит, что после того как запрос будет отправлен, взаимодействовать со страницей будет не возможно до тех пор, пока не получим ответ, если установлен параметр true - запрос будет асинхронным и тут браузер запрос отправит, а ответ мы должны получить через обработчики событий.
Такая штука как SOP(Same Origin Policy) запрещает делать XHR запросы вне домена, но об этом поговорим позже.

JSON

Что бы понять что такое JSON и зачем он, для начала надо понять что такое сериализация и десериализация.
Собственно сериализация - это процесс преобразования каких либо данных в последовательность битов. Десериализация соответсвенно процесс обратный сериализации.


Так вот JSON(JavaScript Object Notation) - это формат обмена данных между front-end'ом и back-end'ом(если речь идет о веб-приложении), который основан на JS, однако поддерживается практически любым ЯПом.
JSON записывается в фигурные скобки и в виде пары ключ:значение. Для работы с JSON'ом в JS есть встроенные функции: JSON.parse - читает объекты из строки JSON, JSON.stringify - наоборот, превращает строки в объект.

В общем виде, на wiki дают хорошее определение применению JSON:
"JSON может быть более подходящим для сериализации сложных структур. Если говорить о веб-приложениях, в таком ключе он уместен в задачах обмена данными как между обозревателем и сервером, так и между самими серверами"


Report Page