![]() |
Índex |
Miguel A. Almarza
|
El codi d'aquest llenguatge es deriva del llenguatge Java però
és molt més senzill i molt més limitat.
A les intranents, internet o estranets existeixen els ordinadors servidors
i els ordinadors client.
Per això existeixen dues parts diferents (objectes diferents)
d'aquest llenguatge. Una és la part de codi corresponent al client
i altra és la part del codi corresponent al servidor.
On s'escriu el codi HTML | On s'executa aquest codi |
El codi s'escriu dins les pàgines HTML | El codi JavaScript del client s'executa en el navegador.
El codi JavaScript del servidor s'executa en el servidor. |
JavaScript és un llenguatge interpretat |
En aquests primers capítols veurem el JavaScript del costat del
Client, que s'executa en els navegadors.
<script language="JavaScript"> <!-- Lloc on s'insereix el codi JavaScript --> </script>Veiem que aquesta etiqueta té la propietat language on indiquem el tipus de llenguatge d'escript que estem utilitzant. Entre d'altres llenguatges d'escript hi són també el Visual Basic Script i l'Ecma Scrip.
Pàgina HTML amb el primer codi JavaScript | Visualització per pantalla |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body> <h3>Primera prova amb JavaScript.</h3> <script language="JavaScript">
document.write("La venda és de ", cincDuros, " duros.");
</body>
|
Primera prova amb JavaScript.Fi de la prova |
Comentaris al codi anterior
|
Exemple d'script amb dades numèriques | Visualització per pantalla |
<script language="Javascript"> <!-- var numeroGran1=100000000531; var numeroGran2=150000000642; document.write("numeroGran1 = ",numeroGran1,"<br>"); document.write("numeroGran2 = ",numeroGran2,"<br>"); document.write("Suma = ",numeroGran1+numeroGran2,"<br><br>"); document.write("Número més gran ", Number.MAX_VALUE,"<br>"); document.write("Número més petit ", Number.MIN_VALUE,"<br>"); //--> </script> |
Ja hem vist dos objectes, l'objecte document i l'objecte Number. Ara presentem l'objecte Math.
Aquest objecte disposa, com a propietats, de les constants més importants com só el número e i el número ¶.
També disposa de mètodes per a moltes funcions matemàtiques, com les funcions trigonomètriques, exponencials, logarítmiques, etc.
En el codi següent mostrem com es fa ús d'aquestes propietats i mètodes.
Exemple d'script amb funcions | Visualització per pantalla |
<script language="Javascript"> <!-- document.write("El número pi: ", Math.PI); document.write("<br>"); document.write("El númerto e: ", Math.E); document.write("<br>"); document.write("La longitud de una circunferencia de radio 5 es: ", 2*Math.PI*5); document.write("<br>"); var a = Math.sin(0); document.write("sen(0°)=",a); a = Math.sin(Math.PI/2); document.write("<br>"); document.write("sen(90°)=",a); //--> </script> |
Així que haurem de triar nosaltres el joc on escriurem les funcions. D'aquesta manera podem fer-nos un bon hàbit d'escriure totes les funcions adients en el mateix lloc de la pàgina, per exemple a l'encapçalament.
També veiem que podem executar una funció dins cos del document HTML, entre les etiquetes <body> i </body> de manera que la sortida de la funció cap a pantalla es faci en el lloc de la pàgina on voldrem que apareixi.
En realitat una funció es pot executar des de qualsevol codi Javascript de la pàgina.
Exemple d'script amb dades numèriques | Visualització per pantalla |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Castigo</title> <script language="Javascript"> <!-- function Castigo() { for (i=1;i<11;i++) { document.write(i,".-La vaca se escribe con v <br>") } } //--> </script> </head> <body> Text anterior a l'execució de la funció castic en la pàgina. <script language="Javascript"> <!-- Castigo(); //--> </script> Text posterior a l'execució de la funció castic en la pàgina. </body> </html> |
Text anterior a l'execució de la funció castic en la pàgina. Text posterior a l'execució de la funció castic en la pàgina. |
El sistema operatiu s'encarrega de capturar aquest events i ditribuir-los entre els objectes que hi ha en execució fins fer-los arribar a l'objecte destinatari de l'event.
Així a l'script següent veiem que existeix un objecte, de tipus botó, que ha de ser capaç de rebre l'event fer clic amb el ratolí i actuar quan rebi aquest event.
El botó es crea amb el tag següent:
<input type="button" name="Boto" value="Fes clic" onClick="HolaMon()">
Veiem que li dotem de la manera de respondre a l'event clic del ratolí amb onClick="HolaMon()" que farà executar la funció HolaMon();
La funció HolaMon() fa ús de l'objecte Window i
el seu mètode alert. L'objecte window es crea en el moment
que es troba un dels tags <body>, <frameset> o<frame>. El mètode
alert("") fa aparèixer un quadre de diàleg amb el missatge
que li passarem.
Exemple d'script amb gestió d'events | Visualització per pantalla |
<html> <head> <script language="Javascript""> function HolaMon() { alert("¡Hola, món!"); } </script> </head> <body> <form> <input type="button" name="Boto" value="Fes clic" onClick="HolaMundo()"> </form> </body> </html> |
Visualització per pantalla |
Càlcul de longituts d'una circumferència i superfícies de circles. |
Objecte | name |
document | document |
Formulari | formCircun |
Text | txtRadi |
Text | txtLongitut |
Text | txtSuperficie |
Botó normal | |
Botó reset |
Exemple d'script interactiu |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Circumferències</title> </head> <script language="Javascript"> <!-- function Calcula() { var r = document.formCircun.txtRadi.value; if (r>0) { var longitut = 2*Math.PI*r; var superficie = Math.PI*r*r; document.formCircun.txtLongitut.value=longitut; document.formCircun.txtSuperficie.value=superficie; } else { window.alert("Introdueix un número positiu"); } } //--> </script> <body> <h3>Càlcul de longituts de una circumferències y superficies de circles.</h3> <form name="formCircun"> Introdueix el radi <input name="txtRadi" type="text" value=""> <br><br> <input type="button" value="Calcula longitut i superfície" onClick="Calcula()"> <input type="reset" value="Esborra"> <br><br> Longitut de la circumferència <input name="txtLongitut" type="text" value=""> <br><br> Superficie de la circunferencia <input name="txtSuperficie" type="text" value=""> <br><br> </form> </body> </html> |