![]() |
Í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> |