Какво е JavaScript?!

Езикът JavaScript първоначално е създаден за „анимиране на уеб страници“. Програмите на този език се наричат ​​скриптове. Те могат да бъдат написани направо в HTML на уеб страница и да се изпълняват автоматично, когато страницата се зареди.

Скриптовете се представят и изпълняват в обикновен текст. Те не изискват специална подготовка или монтаж за изпълнение. В това отношение JavaScript е много различен от друг език, наречен Java.

Защо този език се нарича JavaScript?

Когато езикът JavaScript е създаден, той първоначално се е наричал „LiveScript“. Но Java беше много популярна по това време, така че беше решено да се помогне за създаването на нов език като „по-малкия брат“ на Java. Но с еволюцията JavaScript, със собствена спецификация, наречена ECMAScript, стана напълно независим език и сега няма нищо общо с Java.

Как работят двигателите?

Двигателите са сложни. Но техните принципи са прости. Машината (вградена в браузъра) чете текста („анализира“). След това „компилира“ скрипта в машинен език. И тогава кодът на устройството работи много бързо.

Двигателят прилага оптимизация на всеки етап от процеса. Той дори наблюдава компилирания скрипт по време на изпълнение, анализира данните, през които преминава, и оптимизира машинния код въз основа на това знание.

Какво може да прави JavaScript в браузъра?

Съвременният JavaScript е „безопасен“ език за програмиране. Той не предоставя достъп до памет или процесор на ниско ниво, тъй като първоначално е създаден за браузъри, които не го изискват.

Възможностите на езика JavaScript зависят до голяма степен от средата, в която работи. Например Node.js поддържа функции, които позволяват на JavaScript да чете/записва персонализирани файлове, да изпълнява мрежови заявки и др.

Езикът на JavaScript в браузъра може да прави всичко, свързано с манипулиране на уеб страници, взаимодействие с потребителя и уеб сървъра.

Пример

Например JavaScript в браузър може:

Добавете нов HTML към страницата, променете съществуващото съдържание и променете стиловете.
Реагирайте на действията на потребителя и извършвайте щраквания с мишката, жестове с показалец и натискания на клавиши.
Изпращайте заявки по мрежата до отдалечени сървъри, изтегляйте и качвайте файлове (т.нар. AJAX и COMET технологии).
Получавайте и настройвайте бисквитки, задавайте въпроси на посетителите и показвайте съобщения.
Запомняйте данни от страна на клиента („локално хранилище“).

Какво не може да прави JavaScript в браузъра?

Възможностите на JavaScript в браузъра са ограничени поради безопасността на потребителите. Целта е да се попречи на лоша уеб страница да получи достъп до лична информация или да повреди потребителските данни.

Примери за тези ограничения са:

  • JavaScript на уеб страница не може да чете/пише, копира или изпълнява персонализирани файлове на твърдия диск. Няма директен достъп до функциите на операционната система.
  • Съвременните браузъри ви позволяват да работите с файлове, но достъпът е ограничен и достъпът е ограничен само ако потребителят извърши определени действия, като например „пускане“ на файла в прозореца на браузъра или избиране чрез маркиране.
  • Има начини за взаимодействие с камерата/микрофона и други устройства, но тези методи изискват изричното разрешение на потребителя. Следователно страница с JavaScript може да не активира уеб камерата на езика, да наблюдава околната среда или да изпрати информацията до NSA.
  • Различните раздели/прозорци обикновено не се познават. Понякога те правят това, например когато един прозорец използва JavaScript, за да отвори друг прозорец. Но дори и в този случай JavaScript от една страница може да няма достъп до друга страница (ако е от различни сайтове (от друг домейн, протокол или порт).

Източник

Това се нарича „политика от същия произход“. За да се реши този проблем, двете страници трябва да се съгласят да обменят данни и да съдържат специфичен JavaScript код, който ги управлява. Ще го разгледаме в урока.

Това ограничение е за безопасността на потребителя. Страница от http://anysite.com, отворена от потребител, не трябва да има достъп и да открадне друг раздел на браузъра с URL http://gmail.com.

  • JavaScript може лесно да се свърже със сървъра, от който идва текущата страница по мрежата. Но способността му да получава данни от други сайтове/домейни е парализирана. Въпреки че е възможно, то изисква изрично съгласие (изразено в HTTP заглавки) от разстояние. Още веднъж, това е ограничение за безопасност.

Ако използвате JavaScript извън браузър, например на сървър, няма такова ограничение. Съвременните браузъри също позволяват на плъгини/разширения да изискват дългосрочни разрешения.

Какво прави JavaScript уникален?

Има поне три интересни неща за езика JavaScript:

Пълна интеграция с HTML / CSS.
Изпълняват се прости задачи.
Поддръжката е активирана от всички основни браузъри по подразбиране.
JavaScript е единствената технология за браузър, която съчетава трите.

Това прави JavaScript уникален. Ето защо той е най-широко използваният инструмент за създаване на браузър интерфейси.

Както споменахме, JavaScript ви позволява да създавате сървъри, мобилни приложения и др. Езици на JavaScript

JavaScript не отговаря на нуждите на всеки. Различните хора искат различни характеристики.

Това е очаквано, защото проектите и изискванията са различни за всеки.

Така че наскоро се появи куп нови езици, които се преобразуват в JavaScript, преди да се стартират в браузъра.

Съвременните инструменти правят печата много бърз и прозрачен. Това всъщност позволява на разработчиците да кодират на друг език и автоматично да го превръщат „под капака“.

Примери за тези езици:

CoffeeScript е синтактична захар за JavaScript. Това въвежда кратка команда и ни позволява да пишем по-ясен и прецизен код. Разработчиците на Ruby обикновено го харесват.
TypeScript се фокусира върху опростяването на „точното въвеждане на данни“, за да опрости разработването и поддръжката на сложни системи. Произведено от Microsoft.
Flow също добавя въвеждане на данни, но по различен начин. Разработено от Facebook.
Дартс е независим език, който има собствен двигател. Което работи в среди без браузър (като мобилни приложения). Но може да се пренесе и към JavaScript. Произведено от Google.
Brython е Python-to-JavaScript сървър. Което прави възможно писането на програми на чист Python без JavaScript.
Kotlin е модерен, кратък и сигурен език за програмиране, който може да се насочва към браузъра или Node.
Има още. Разбира се, дори ако използваме един от прехвърляемите езици, трябва да знаем JavaScript, за да разберем наистина какво правим.

Функции на JavaScript

Сега нека видим подробно характеристиките на JavaScript:

1. Обектно-центриран скриптов език

Функциите на Object Centered Language са вградени в обекта, тъй като Java Script има обект прозорец. Някои често срещани примери за обектно-центрирани езици са JavaScript и Visual Basic и т.н. Обектно-центрираните езици се използват най-вече за функции като полиморфизъм, което е качество на приемане на обект в много форми. Използването на полиморфизъм в рамките на обектно-ориентираното програмиране изисква всеки път, когато използваме, за да представим препратка на родителския клас към обект на дъщерен клас.

2. Client Edge Technology

Клиентът е основно термин, използван за уеб браузъри по отношение на потребителя. Данните на сървъра се качват от клиент, който по-късно се използва от потребител в изобразената форма. Потребителят получава достъп до клиента чрез уеб браузър за сърфиране и взаимодействие с уебсайтове. Технологията на клиента в Java Script позволява на клиента да има пълен контрол върху съдържанието, което се актуализира на сървърите.

3. Проверка на въведеното от потребителя

Валидирането на въведеното от потребителя е най-известно като валидиране на формуляр, което позволява на потребителите да взаимодействат с клиенти чрез попълване на формуляри чрез уеб страници. Подробностите във формуляра трябва да бъдат правилно попълнени, където валидирането на формуляра помага на клиента да потвърди данните, въведени от потребителя.

4. Изявление Else и IF

Операторите If и Else се използват за извършване на логически операции.

5. Преводач центриран

Java Script е изграден с центриран интерпретатор, който позволява на потребителя да получи изхода без използването на компилатор. Това означава, че въвеждането, извършено от потребителя, се изобразява директно без компилиране на кодове.

6. Възможност за изпълнение на функция за изграждане

Java Script има много вградени функции като isNAN (), Number (), parseFloat () и parseInt () и т.н. Функцията isNAN () се използва за идентифициране, че входният обект е правилният числов формат. функцията parseFloat () се използва при преобразуването на обекта в число. parseInt () Функцията се използва за анализ на низове.

7. Формат, чувствителен към малки и малки букви

Кодовете, написани в Java Script, са чувствителни към главни и малки букви, което обяснява, че няма да има разлика в изхода, независимо дали кодовете са написани във формат с главни или малки букви.

8. Лек и деликатен

Характеристики на Java Script Лек и деликатен, а кодовете, написани на JavaScript, не включват променливи и използват само обекти за извършване на операциите.

9. Цикъл на изявления

Цикълът на изрази се използва за многократно извършване на едни и същи операции. При тази операция един и същ набор от кодове се изпълняват по повтарящ се начин за конкретен или неспецифичен набор от време.

10. Обработка на събития

Java Script има способността да контролира операциите, актуализирани на сървърите. Това основно контролира отговора на уебсайта, когато потребителят се опитва да извърши каквато и да е операция, обработвана от сървъра от клиента, като щракане върху връзки и опции, реакция на взаимодействие през уебсайта и т.н.

Атрибути на JavaScript

Работа с атрибути

Атрибутите са специални думи, използвани в началния таг на HTML елемент, за да контролират поведението на тага или да предоставят допълнителна информация за тага.

JavaScript предоставя няколко метода за добавяне, премахване или промяна на атрибут на HTML елемент. В следващите раздели ще научим подробно за тези методи.

Получаване на стойността на атрибута на елемента

Методът getAttribute() се използва за получаване на текущата стойност на атрибут на елемента.

Ако указаният атрибут не съществува в елемента, той ще върне null. Ето един пример:

<a href="https://www.google.com/" target="_blank" id="myLink">Google</a>

<script>
    // Selecting the element by ID attribute
    var link = document.getElementById("myLink");
    
    // Getting the attributes values
    var href = link.getAttribute("href");
    alert(href); // Outputs: https://www.google.com/
    
    var target = link.getAttribute("target");
    alert(target); // Outputs: _blank
</script>

Задаване на атрибути на елементи

Методът setAttribute() се използва за задаване на атрибут на посочения елемент.

Ако атрибутът вече съществува в елемента, стойността се актуализира; в противен случай се добавя нов атрибут с указаното име и стойност. JavaScript кодът в следния пример ще добави атрибут class и disabled към елемента ‹button›. Ето един пример:

<button type="button" id="myBtn">Click Me</button>

<script>
    // Selecting the element
    var btn = document.getElementById("myBtn");
 
    // Setting new attributes
    btn.setAttribute("class", "click-btn");
    btn.setAttribute("disabled", "");
</script>

По подобен начин можете да използвате метода setAttribute(), за да актуализирате или промените стойността на съществуващ атрибут на HTML елемент. Кодът на JavaScript в следващия пример ще актуализира стойността на съществуващия атрибут href на елемент на котва (‹a›). Ето един пример:

<a href="#" id="myLink">Tutorial Republic</a>

<script>
    // Selecting the element
    var link = document.getElementById("myLink");
 
    // Changing the href attribute value
    link.setAttribute("href", "https://www.tutorialrepublic.com");
</script>

Премахване на атрибути от елементи

Методът removeAttribute() се използва за премахване на атрибут от посочения елемент.

JavaScript кодът в следващия пример ще премахне атрибута href от anchor елемент. Ето един пример:

<a href="https://www.google.com/" id="myLink">Google</a>

<script>
    // Selecting the element
    var link = document.getElementById("myLink");
 
    // Removing the href attribute
    link.removeAttribute("href");
</script>

Резюме

  • JavaScript първоначално е създаден като език само за браузър, но сега се използва в много други среди.
  • Днес JavaScript има уникална позиция като най-широко използваният език за браузър с пълна HTML / CSS интеграция.
  • Има много езици, които „превеждат“ на JavaScript и предлагат определени функции. След като усвоите JavaScript, е препоръчително да ги разгледате накратко.