
JavaScript (JS) to skryptowy język programowania, w którym funkcje są „obywatelami pierwszej kategorii” – obiektami, które można przechowywać w zmiennych jako referencje i przekazywać jak każde inne obiekty. Chociaż JavaScript jest najbardziej znany jako język skryptowy dla stron internetowych, używa go również wiele środowisk poza przeglądarką, takich jak Node.js, Apache CouchDB czy Adobe Acrobat. JavaScript jest językiem opartym na prototypach, wielu paradygmatach, dynamicznej składni, zorientowanym obiektowo, o stylu imperatywnym i deklaratywnym (np. programowanie funkcyjne).
Statystyki pokazują, że JavaScript w ostatnim czasie wiedzie prym wśród reszty popularnych języków. W dużej mierze dlatego, że można używać go już praktycznie do wszystkiego. Oczywiście nieoceniony jest głównie przy pracy front-endowców. Jednak z powodzeniem aplikacje tworzone w JS znajdą zastosowanie na różnych platformach. Poza aplikacjami webowymi, dzięki React Native i innym frameworkom – przyda się do pracy przy mobile’u, a dzięki node.js – również w zastosowaniach serwerowych.
Hello World
(function(){
"use strict";
/* Start twojego kodu */
function greetMe(yourName) {
alert('Hello ' + yourName);
}
greetMe('World');
/* Koniec twojego kodu */
})();
Za umieszczanie skryptów JS odpowiedzialny jest element <script> z opcjonalnymi argumentami type o wartości text/javascript i language o wartości javascript.
KOMPILATATORY
Przeglądarki oraz język JavaScript stały się platformą do obsługi innych języków. Istnieją kompilatory, które konwertują pliki innego języka na JavaScript. Z najbardziej znanych można wymienić:
- CoffeeScript
- Dart
- TypeScript
- ClojureScript
JAVASCRIPT I HTML5
Mój pierwszy skrypt w JavaScript! To jest normalny dokument HTML.
I znowu dokument HTML.
<html>
<head>
<title>Mój pierwszy skrypt w JavaScript!</title>
</head>
<body> To jest normalny dokument HTML. <br>
<script src="ścieżka/do/pliku/nazwapliku.js"></script>
I znowu dokument HTML.
</body>
</html>
W języku XHTML istnieje opcja pozwalająca na użycie pustego znacznika <script>
Stare przeglądarki. Ciągle istnieją przeglądarki, które nie rozpoznają znacznika <script>
Aby zapobiec wyświetlaniu w takim przypadku kodu w oknie przeglądarki powinniśmy używać następującej składni:
<html>
<head>
<title>Ukrywanie skryptów za pomocą komentarzy.</title>
<script language="javascript" >
<!-- komentarz w języku HTML
Tu będzie kod JavaScript ...
//--> zamykamy komentarz w języku HTML
</script>
</head>
<body>
</body>
</html>
Przydatne funkcje
Funkcja alert(). Wyświetla okno ostrzeżenia na naszej stronie WWW, jako argument podajemy tekst, który będzie wyświetlonym komunikatem. alert(„Dzień dobry!”);

Pamiętajmy, że argument jest łańcuchem znaków, więc powinien być otoczony apostrofami lub cudzysłowami. Jednak w przypadku, gdy argument to liczba, znaki te możemy opuścić.
Funkcja confirm(). Jest to funkcja nieco bardziej zaawansowana niż alert(). Wyświetla okno z komunikatem i przyciskami Ok i Cancel. Po wybraniu Ok zwraca wartość true, a po wybraniu Cancel wartość false.
alert(confirm(„Czy aby na pewno?”));
Powyższy przykład wyświetli false jeśli wybierzemy Cancel i true jeśli wybierzemy Ok
Funkcje globalne
Funkcje te można wywoływać w dowolnej części skryptu, dokładnie w ten sam sposób, w jaki wywołuje się funkcje użytkownika. Do tej pory mieliśmy już do czynienia z niektórymi predefiniowanymi funkcjami, takimi jak alert(), confirm(). Funkcje te są wykorzystywane od tak dawna, że obsługuje je większość przeglądarek, choć w zasadzie nie należą one do rdzenia języka JavaScript. Oznacza to, że w innych środowiskach niż przeglądarki WWW mogą, lecz nie muszą być dostępne. Oto lista funkcji JavaScript należących do rdzenia języka:
• decodeURI() • decodeURIComponent() • encodeURI() • encodeURIComponent() • escape() • unescape() • eval() • isFinite() • isNaN() • Number() • parseFloat() • toString() • watch() • unwatch()
OBIEKTY ŚRODOWISKOWE
Obiekty środowiskowe dostarczają nam informacji o przeglądarce oraz środowisku w jakim ona pracuje. Mamy tu cztery obiekty potomne obiektu window, które umożliwiają uzyskanie tych wiadomości. Oto ich lista:
• obiekt location.
• obiekt history.
• obiekt navigator.
• obiekt screen.