JavaScript
JavaScript (JS) – obiektowy skryptowy język programowania, stworzony przez firmę Netscape, najczęściej stosowany na stronach internetowych.
Pod koniec lat 90, XX wieku organizacja ECMA wydała na podstawie JavaScriptu standard języka skryptowego o nazwie ECMAScript.
Najczęściej spotykanym zastosowaniem języka JavaScript są strony WWW.
Skrypty służą najczęściej do zapewnienia interaktywności poprzez
reagowanie na zdarzenia, sprawdzania poprawności formularzy lub
budowania elementów nawigacyjnych.
Podczas wzbogacania funkcjonalności strony internetowej istotne jest,
aby żaden element serwisu nie stał się niedostępny po wyłączeniu
obsługi JavaScriptu w przeglądarce.
Skrypt JavaScriptu ma znacznie ograniczony dostęp do komputera użytkownika (o ile nie zostanie podpisany cyfrowo).
Niektóre strony WWW zbudowane są z wykorzystaniem JavaScriptu po
stronie serwera, jednakże znacznie częściej korzysta się w tym
przypadku z innych języków.
W języku JavaScript można także pisać pełnoprawne aplikacje. Fundacja
Mozilla udostępnia środowisko złożone z technologii takich jak XUL,
XBL, XPCOM oraz JSLib.
Umożliwiają one tworzenie korzystających z zasobów systemowych
aplikacji o graficznym interfejsie użytkownika dopasowującym się do
danej platformy.
Przykładem aplikacji napisanych z użyciem JS i XUL może być klient IRC
o nazwie ChatZilla, domyślnie dołączony do pakietu Mozilla.
Microsoft udostępnia biblioteki umożliwiające tworzenie aplikacji JScript jako część środowiska Windows Scripting Host.
Ponadto JScript.NET jest jednym z podstawowych języków środowiska .NET.
Istnieje także stworzone przez IBM środowisko SashXB dla systemu Linux,
które umożliwia tworzenie w języku JavaScript aplikacji
korzystających z GTK+, GNOME i OpenLDAP.
Java a JavaScript
Początkowo Netscape nazwała nowy język LiveScript.
Nazwa została jednak
szybko zmieniona na JavaScript wskutek biznesowych porozumień pomiędzy
Netscape a firmą Sun Microsystems
(Sun jest współwłaścicielem
znaku handlowego JavaScript). Skutkiem tego jest wiele nieporozumień
wśród początkujących programistów.
Mimo odrębności
dwóch języków skrypty JavaScriptu oraz aplety Javy mogą
się wzajemnie komunikować dzięki dostępnej w przeglądarkach Netscape,
Mozilla i Opera technologii LiveConnect.
JavaScript - przykłady:
Pierwszy program
<html>
<body>
<script type="text/javascript">
document.write("Hello World!");
</script>
</body>
</html>
Ukrywanie kodu przed prostymi przeglądarkami, które nie rozpoznają Java Script
<html>
<head>
<script type="text/javascript">
<!-- ukrywamy kod przed nieznającymi nas przeglądarkami
kod skryptu
// koniec skryptu - koniec ukrywania -->
</script>
</head>
<body>
<noscript>
Twoja przeglądarka nie obsługuje JavaScriptu.
Aby zobaczyć stronę w pełnej funkcjonalności, zainstaluj inną przeglądarkę:
Internet Explorer, Netscape Navigator, Mozilla, Opera...
</noscript>
kod HTML strony
</body>
</html>
Wprowadzanie danych
Zmienna
<HTML>
<HEAD>
</HEAD>
<script language = "JavaScript">
<!-- Ukrycie przed przegladarkami nie obsługujacymi Javascript
var imie = prompt ("Podaj swoje imię: ", "")
document.write ("Czesc " + imie + "!");
// Koniec kodu JavaScipt -->
</SCRIPT>
<BODY>
</BODY>
</HTML>
Wprowadzanie danych bez zmiennej
HTML>
<HEAD>
</HEAD>
<script language = "JavaScript">
<!-- Ukrycie przed przegladarkami nie obsługujacymi Javascript
document.write ("Czesc " + prompt ("Podaj swoje imię: ", "") + "!");
// Koniec kodu JavaScipt -->
</SCRIPT>
<BODY>
</BODY>
</HTML>
Równanie kwadratowe
<HTML>
<HEAD>
</HEAD>
<script language = "JavaScript">
<!-- Ukrycie przed przegladarkami nie obsługujacymi Javascript
document.write ("<H2>Rownanie kwadratowe</H2>");
document.write ("<br>");
var A = prompt ("Podaj A rownania Ax^2+Bx+C=0 ", "");
var B = prompt ("Podaj B rownania Ax^2+Bx+C=0 ", "");
var C = prompt ("Podaj C rownania Ax^2+Bx+C=0 ", "");
var delta = B*B-4*A*C;
if (delta < 0)
{
document.write ("Rownanie nie ma rozwiazan");
}
else
{
if (delta == 0)
{
document.write ("Rozwiazanie ma liczbe x= ", -B/(2*A) )
}
else
{
document.write ("<H3> Rozwiazaniem sa liczby </H3> x1 = ",
(( -B + Math.sqrt(delta))/(2*A)));
document.write (" i <br> x2= ", ((-B - Math.sqrt(delta))/(2*A)));
}
}
// Koniec kodu JavaScipt -->
</SCRIPT>
<BODY>
<p>Cwiczenia z Java Script</p>
</BODY>
</HTML>
// Obliczenie azymutu ze współrzędnych
<HTML>
<HEAD>
</HEAD>
<script language = "JavaScript">
<!-- Ukrycie przed przegladarkami nie obsługujacymi Javascript
document.write ("<H2>Dlugosc i azymut ze wspolrzednych</H2>");
document.write ("<br>");
var X1 = prompt ("X1 ", "");
var Y1 = prompt ("Y1 ", "");
var X2 = prompt ("X2 ", "");
var Y2 = prompt ("Y2 ", "");
var dx = X2-X1;
var dy = Y2-Y1;
var d=Math.sqrt(dx*dx+dy*dy);
if (dx ==0 )
{
dx==0.000000001;
}
var a=Math.atan(dy/dx);
a=a*200/3.14159
if (dx <0 )
{
a=a+200;
}
else
{
if (a < 0)
{
a=a+400;
}
}
document.write (" d = ", d);
document.write (" <br> az= ", a);
// Koniec kodu JavaScipt -->
</SCRIPT>
<BODY>
<p>Cwiczenia z Java Script</p>
</BODY>
</HTML>
// Obliczenie długosci i azymutu ze współrzednych - druga wersja
<HTML>
<HEAD>
</HEAD>
<BODY>
<H2>Cwiczenia z Java Script</H2>
<script language = "JavaScript">
<!-- Ukrycie przed przegladarkami nie obsługujacymi Javascript
document.write ("<H2>Azymut ze wspolrzednych</H2>");
var X1 = prompt ("Podaj X1 punktu P1(X1,Y1) ", "");
var Y1 = prompt ("Podaj Y1 punktu P1(X1,Y1) ", "");
var X2 = prompt ("Podaj X2 punktu P2(X2,Y2) ", "");
var Y2 = prompt ("Podaj Y2 punktu P2(X2,Y2) ", "");
var DX = X2-X1;
var DY = Y2-Y1;
document.write("<H4>Dane:</H4>");
document.write("X1=",X1," Y1=",Y1,"<br>");
document.write("X2=",X2," Y2=",Y2,"<br>")
document.write("<H4>Obliczone:</H4>");
document.write("DX=",DX);
document.write("<br>DY=",DY);
var d=Math.sqrt(DX*DX+DY*DY);
var RG=200.0/Math.PI;
document.write("<br>Ro[grad]=200/PI=",RG,"[grad]<br>");
//document.write("<br>Dlugosc=",Math.sqrt(DX*DX+DY*DY));
document.write ("<H4>Dlugosc </H4> D(1-2) = ", d);
if (DY==0)
{ DY=0.00000000001};
az=Math.atan(DY/DX)*RG;
if (DX<0)
{az=az+200}
if (DX >0 && DY <0)
{az=az+400}
document.write ("<br> <H4> Azymut </H4> Az=", az);
// Koniec kodu JavaScipt -->
</SCRIPT>
</BODY>
</HTML>
Osadzania JS na stronie HTML
The example below shows how to use JavaSript to write text on a web page:
<html>
<body>
<script type="text/javascript">
document.write("Hello World!");
</script>
</body>
</html>
Dodanie znaczników HTML tags do JavaScript:
<body>
<script type="text/javascript">
document.write("<h1>Hello World!</h1>");
</script>
</body>
</html>
Obsługa prostych przeglądarek
<html>
<body>
<script type="text/javascript">
<!--
document.write("Hello World!");
//-->
</script>
</body>
</html>
Gdzie wstawic kod JS?
W nagłówku - skrypt ładowany na początku, przed właściwą treścią strony
html>
<head>
<script type="text/javascript">
function message()
{
alert("This alert box was called with the onload event");
}
</script>
</head>
<body onload="message()">
</body>
</html>
W body - ciele funkcji - generuje zawartość strony
<html>
<head>
</head>
<body>
<script type="text/javascript">
document.write("This message is written by JavaScript");
</script>
</body>
</html>
Użycie w <head> i <body>
<html>
<head>
<script type="text/javascript">
....
</script>
</head>
<body>
<script type="text/javascript">
....
</script>
</body>
Użycie zewnętrznych plików JS
<html>
<head>
<script type="text/javascript" src="xxx.js"></script>
</head>
<body>
</body>
</html>
JavaScript is a sequence of statements to be executed by the browser.
JavaScript is Case Sensitive
Unlike HTML, JavaScript is case sensitive - therefore watch your
capitalization closely when you write JavaScript statements, create or
call variables, objects and functions.
JavaScript Statements
A JavaScript statement is a command to a browser. The purpose of the command is to tell the browser what to do.
This JavaScript statement tells the browser to write "Hello Dolly" to the web page:document.write("Hello Dolly");
It is normal to add a semicolon at the end of each executable
statement. Most people think this is a good programming practice, and
most often you will see this in JavaScript examples on the web.
The semicolon is optional (according to the JavaScript standard), and
the browser is supposed to interpret the end of the line as the end of
the statement. Because of this you will often see examples without the
semicolon at the end.
Note: Using semicolons makes it possible to write multiple statements on one line.
JavaScript Code
JavaScript code (or just JavaScript) is a sequence of JavaScript statements.
Each statement is executed by the browser in the sequence they are written.
This example will write a heading and two paragraphs to a web page
Example
<script type="text/javascript">
document.write("<h1>This is a heading</h1>");
document.write("<p>This is a paragraph.</p>");
document.write("<p>This is another paragraph.</p>");
</script>
JavaScript Blocks
JavaScript statements can be grouped together in blocks.
Blocks start with a left curly bracket {, and ends with a right curly bracket }.
The purpose of a block is to make the sequence of statements execute together.
This example will write a heading and two paragraphs to a web page:Example
<script type="text/javascript">
{
document.write("<h1>This is a heading</h1>");
document.write("<p>This is a paragraph.</p>");
document.write("<p>This is another paragraph.</p>");
}
</script>
JavaScript Comments
Comments can be added to explain the JavaScript, or to make the code more readable.
Single line comments start with //.
The following example uses single line comments to explain the code:
Example
<script type="text/javascript">
// Write a heading
document.write("<h1>This is a heading</h1>");
// Write two paragraphs:
document.write("<p>This is a paragraph.</p>");
document.write("<p>This is another paragraph.</p>");
</script>
<script type="text/javascript">
/*
The code below will write
one heading and two paragraphs
*/
document.write("<h1>This is a heading</h1>");
document.write("<p>This is a paragraph.</p>");
document.write("<p>This is another paragraph.</p>");
</script>
Operatory
txt1="What a very";
txt2="nice day";
txt3=txt1+txt2;
x=5+5;
document.write(x);
x="5"+"5";
document.write(x);
x=5+"5";
document.write(x);
x="5"+5;
document.write(x);
Warunki
if, else
script type="tex
t/javascript">
//Write a "Good morning" greeting if
//the time is less than 10
var d=new Date();
var time=d.getHours();
if (time<10)
{
document.write("<b>Good morning</b>");
}
</script>
<script type="text/javascript">
//If the time is less than 10, you will get a "Good morning" greeting.
//Otherwise you will get a "Good day" greeting.
var d = new Date();
var time = d.getHours();
if (time < 10)
{
document.write("Good morning!");
}
else
{
document.write("Good day!");
}
</script>
<script type="text/javascript">
var d = new Date()
var time = d.getHours()
if (time<10)
{
document.write("<b>Good morning</b>");
}
else if (time>10 && time<16)
{
document.write("<b>Good day</b>");
}
else
{
document.write("<b>Hello World!</b>");
}
</script>
case
<script type="text/javascript">
//You will receive a different greeting based
//on what day it is. Note that Sunday=0,
//Monday=1, Tuesday=2, etc.
var d=new Date();
theDay=d.getDay();
switch (theDay)
{
case 5:
document.write("Finally Friday");
break;
case 6:
document.write("Super Saturday");
break;
case 0:
document.write("Sleepy Sunday");
break;
default:
document.write("I'm looking forward to this weekend!");
}
</script>
Alert box
<html>
<head>
<script type="text/javascript">
function show_alert()
{
alert("I am an alert box!");
}
</script>
</head>
<body>
<input type="button" onclick="show_alert()" value="Show alert box" />
</body>
</html>
Confirm box
<html>
<head>
<script type="text/javascript">
function show_confirm()
{
var r=confirm("Press a button");
if (r==true)
{
document.write("You pressed OK!");
}
else
{
document.write("You pressed Cancel!");
}
}
</script>
</head>
<body>
<input type="button" onclick="show_confirm()" value="Show confirm box" />
</body>
</html>
Prompt box
<html>
<head>
<script type="text/javascript">
function show_prompt()
{
var name=prompt("Please enter your name","Harry Potter");
if (name!=null && name!="")
{
document.write("Hello " + name + "! How are you today?");
}
}
</script>
</head>
<body>
<input type="button" onclick="show_prompt()" value="Show prompt box" />
</body>
</html>
Funkcje
<html>
<head>
<script type="text/javascript">
function displaymessage()
{
alert("Hello World!");
}
</script>
</head>
<body>
<form>
<input type="button" value="Click me!" onclick="displaymessage()" />
</form>
</body>
</html>
return w funkcji
<html>
<head>
<script type="text/javascript">
function product(a,b)
{
return a*b;
}
</script>
</head>
<body>
<script type="text/javascript">
document.write(product(4,3));
</script>
</body>
</html>
Petla for
<body>
<script type="text/javascript">
var i=0;
for (i=0;i<=5;i++)
{
document.write("The number is " + i);
document.write("<br />");
}
</script>
</body>
</html>
while
<html>
<body>
<script type="text/javascript">
var i=0;
while (i<=5)
{
document.write("The number is " + i);
document.write("<br />");
i++;
}
</script>
</body>
</html>
do while
<html>
<body>
<script type="text/javascript">
var i=0;
do
{
document.write("The number is " + i);
document.write("<br />");
i++;
}
while (i<=5);
</script>
</body>
</html>
break
<html>
<body>
<script type="text/javascript">
var i=0;
for (i=0;i<=10;i++)
{
if (i==3)
{
break;
}
document.write("The number is " + i);
document.write("<br />");
}
</script>
</body>
</html>
continue
<html>
<body>
<script type="text/javascript">
var i=0
for (i=0;i<=10;i++)
{
if (i==3)
{
continue;
}
document.write("The number is " + i);
document.write("<br />");
}
</script>
</body>
</html>
For...In
<html>
<body>
<script type="text/javascript">
var x;
var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";
for (x in mycars)
{
document.write(mycars[x] + "<br />");
}
</script>
</body>
</html>
Darmowy hosting zapewnia PRV.PL