Professional Documents
Culture Documents
NF1 A1.2 - Introduccio A Javascript I Eines de Programacio en L'entorn Client
NF1 A1.2 - Introduccio A Javascript I Eines de Programacio en L'entorn Client
Índex de continguts
1. Introducció.......................................................................................................2
2. Llenguatges basats amb guions (scripts)........................................................2
2.1. Avantatges i inconvenients...........................................................................2
3. JavaScript: característiques generals..............................................................3
3.1. JavaScript vs Java........................................................................................3
4. Creació de programes amb JavaScript...........................................................4
4.1. Sentències i comentaris................................................................................4
4.2. Assignacions i operadors: expressions........................................................5
a) Assignacions: expressions..............................................................................5
b) Operadors........................................................................................................5
Operadors aritmètics............................................................................................5
Operadors d’assignació.......................................................................................6
Operadors de comparació...................................................................................6
Operadors lògics..................................................................................................6
Operador typeof().................................................................................................7
Operador eval()....................................................................................................7
Altres Operadors..................................................................................................7
4.3. Variables: tipus i àmbits, conversió..............................................................8
a) Noms de les variables.....................................................................................8
b) Declaració de les variables..............................................................................8
c) Tipus les variables...........................................................................................8
d) Conversió de dades.........................................................................................9
5. Paraules reservades en JavaScript...............................................................10
6. Caràcters espcials amb Javascript................................................................11
7. Integració del codi amb les etiquetes HTML.................................................12
7.1. Rutes relatives i absollutes.........................................................................14
8. Eines de desenvolupament integrat per JavaScript (IDE)............................14
9. Per saber-ne més..........................................................................................15
Pàgina 1 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
1. Introducció.
Com hem comentat ja en el NF anterior JavaScript és un llenguatge de programació
interpretat, basat amb l'estàndard ECMAScript. Es defineix com orientat a objectes, basat en
prototips i dinàmic.
Els llenguatges de script tenen la principal finalitat el millorar la gestió d'una aplicació
web, sent executats en el navegador de l'usuari, es a dir la part anomenada client.
En la majoria dels casos, és més fàcil escriure el codi en un llenguatge de scripting que
en un llenguatge compilat. No obstant això, els llenguatges d'script són més lents perquè les
instruccions no són manejats exclusivament pel processador d'instrucció bàsica. Llenguatges
de script permeten el desenvolupament del codi i l'aplicació de manera ràpida i poden
comunicar-se fàcilment amb els programes escrits en altres idiomes.
3- Són llenguatges que no calen ser compilats cada cop que s’ha realitzat una
modificació, facilitant les proves en el moment del desenvolupament de l’aplicació.
- Inconvenients:
1- Els script tenen capacitats limitades, per raons de seguretat, per la qual cosa no és
possible fer tot amb Javascript, sinó que cal emprar-lo conjuntament amb altres llenguatges
evolucionats, possiblement més segurs, com PHP, HTML. Aquesta limitació és encara més
evident si volem operar en el maquinari de l'ordinador.
2- El codi és visible i pot ser llegit per qualsevol, fins i tot si està protegit amb les
lleis del copyright.
Pàgina 2 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
És un llenguatge de scripting.
Ha ser dissenyat per afegir interactivitat a les pàgines HTML.
És un llenguatge de programació lleuger.
Sol ser incorporats directament en les pàgines HTML.
JavaScript és un llenguatge interpretat (significa que els scripts s'executen
sense una compilació anterior).
Tota persona pot utilitzar JavaScript sense necessitat d'adquirir una llicència.
JavaScript va ser pensat perquè ser un llenguatge segur. No permet l'ús de punters,
que és la causa més freqüent de violacions de seguretat. A més, en ser un llenguatge
interpretat, no hi ha problemes de temps de compilació i assignació de memòria, que és una
altra font potencial de violacions de la seguretat.
https://www.w3schools.com/js/js_versions.asp
JavaScript, en canvi, és un llenguatge script que sempre apareix en text clar. Fins que
no arriba al navegador, no s'interpreta el seu codi font línia per línia. D'aquesta manera queda
garantida la independència de JavaScript davant de la plataforma utilitzada en cada ca i tot. En
la seva forma més comú, JavaScript es vincula directament al document HTML. Això permet
crear d'una manera senzilla documents dinàmics.
Pàgina 3 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
L'etiqueta SCRIPT és una extensió de HTML en la qual es tanca el text que composa
el codi del programa JavaScript corresponent. Un document pot tenir diverses etiquetes
SCRIPT, i cadascuna d'elles incloure sentències JavaScript diferents.
Les línies de codi tancades entre les etiquetes SCRIPT són ignorades si el navegador
que les llegeix no té el nivell de JavaScript especificat. Per exemple, Navigator 3.0 executa el
codi escrit amb l'etiqueta <SCRIPT LANGUAGE: "JavaScript"> o <SCRIPT
LANGUAGE:"JavaScript 1.2"> però omet el codi que està escrit en versions posteriors de
JavaScript. Si el atribut LANGUAGE és omès els navegat-res assumeixen que és l'última versió
que ells interpreten.
Pàgina 4 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Exemple 3: comentaris
a) Assignacions: expressions.
El signe igual (=) s'utilitza en JavaScript per indicar l'acció d'assignar un valor. Es a
dir, una sentència de JavaScript podria ser per exemple:
edat = 3;
Els operadors que s'utilitzen en JavaScript són els mateixos que es poden utilitzar en
qualsevol altre llenguatge de programació
Una expressió en JavaScript és una cosa que es pugui llegir com una expressió
booleana o una expressió numèrica. Les expressions contenen caràcters com "+" en lloc
d'expresar-ho com "sumat a". Qualsevol combinació vàlida de valors, variables, operadors, i
expressions constitueixen una expressió, exemples d'expressions:
b) Operadors.
5. Operadors aritmètics.
Operador Descripció
+ Suma
- Resta
* Producte
/ Divisió
% Resta de la divisió.
Pàgina 5 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Operador Descripció
= Assigna a la variable de la part esquerra el
valor de la part dreta.
x=5; La variable obté el valor 5
+= Suma els operands esquerre i dret i assigna el
resultat al operant esquerre.
x+=2; La variable obté el valor 7 (5 +2)
-= Resta els operands esquerre i dret i assigna el
resultat al operant esquerre.
x-=3; La variable obté el valor 4 (7 – 4)
*= Multiplica els operands esquerre i dret i
assigna el resultat al operant esquerre.
x*=4; La variable obté el valor 16 (4*4)
/= Divideix els operands esquerre i dret i assigna
el resultat al operant esquerre.
x/=2; La variable obté el valor 8 (16/2)
%= Divideix dos operands i assigna la resta al
operant esquerre.
x%=3 La variable obté el valor 2 (la resta de 8/3 es 2)
Operadors de comparació.
Operador Descripció
== Retorna el valor true quan els dos operands
són iguals.
!= Retorna el valor false quan els dos operands
són iguals.
> Retorna el valor true quan l’operand de
l’esquerra és més gran que el de la dreta.
< Retorna el valor true quan l’operand de la
dreta és més gran que el de l’esquerra
>= Retorna el valor true quan l’operand de
l’esquerra és més gran o igual que el de la
dreta.
<= Retorna el valor true quan l’operand de la
dreta és més gran o igual que el de l’esquerra
Operadors lògics.
Operador Descripció
&& I lògica. El valor de devolució és true quan tots
dos operands són veritat.
|| O lògica. El valor de devolució és true quan un
dels dos operands són veritat.
! Negació lògica. El valor de devolució és true
quan el valor es fals.
Pàgina 6 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
L'operador typeof retorna una cadena de text que descriu el tipus de dades al que
pertany l'operand.
Exemple:
<HTML>
<HEAD>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=”Javascript”>
var ciudad=”Oviedo”;
var edad=6;
var carnet=true;
document.write(typeof ciudad + “<BR>”);
document.write(typeof edad + “<BR>”);
document.write(typeof carnet + “<BR>”);
</SCRIPT>
</BODY>
<HTML>
Operador eval().
Exemple:
var expressio;
expressio =prompt(“Introduce la operación a realizar”,””);
resultat=eval(expressio);
alert (“El resultat de l’operació es “+ resultat);
Altres Operadors.
Operador Descripció
y=++x Incrementa en 1 el valor de la variable x i
després es realitza l’assignació.
y=x++ Es realitza l’assignació i després s’incrementa
en 1 el valor de la variable x.
y=--x Es resta en 1 el valor de la variable x i després
es realitza l’assignació.
y=x-- Es realitza l’assignació i després es resta en 1
el valor de la variable x.
y=-x Assigna a y el valor de la variable x canviat de
signe i x no canvia de valor.
Pàgina 7 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
- Es poden utilitzar totes les lletres de l'alfabet en majúscules i minúscules, els números del 0 al
9 i el guió subratllat “_” .
- Els noms de les variables no poden contenir punts ni espais en blanc.
- El primer caràcter ha de ser una lletra o el guió subratllat.
- En el nom es fa distinció entre majúscules i minúscules.
- No es pot utilitzar com a nom cap de les paraules reservades per JavaScript, És a dir, no es
poden utilitzar paraules que coincideixin amb les que pertanyen al llenguatge JavaScript.
- Oficialment no hi ha restriccions pel que fa a la longitud del nom, però aquest ha de cabre en
una sola línia.
Exemples:
Per declarar les variables en JavaScripts utilitza la instrucció var. A cada variable se li
assigna un nom, i opcionalment, un valor inicial. Si no es tracta d'una funció, la instrucció var és
opcional, però es recomana utilitzar-la.
Exemples:
var exemple;
Hola = “Hola”; //és el mateix que var Hola = “Hola”;
var resultat=3+7; //la variable contindrà el valor de 10
Els tipus de valors que pot contenir una variable JavaScript són:
Pàgina 8 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Exemples:
Un possible contingut d'una variable és el valor null, vol dir que té valor nul i no es
correspon amb cap tipus. Quan es vol declarar una variable i donar-li un valor que no sigui cap
en particular es pot assignar el valor especial null.
Exemple:
var dos = null;
var nota = 3 * dos;
// En aquesta sentència a la variable nota se li assigna el valor 0
Si declarem una variable sense assignar un valor, existeix però el seu valor és
indefinit: NaN (Not a Number).
Exemple:
var numero;
var numeroPer1 = 1 * numero;
// S'assigna el valor NaN a la variable numero degut a què
// numero no té cap valor assignat.
Es pot declarar una variable implícitament (sense utilitzar var) assignant un valor. No
obstant això no es pot utilitzar, una variable que no s'ha declarat mai. Fer-ho genera un error en
temps d'execució.
Exemple:
Vermell = “”;
// Aquesta variable l'hem declarada implícitament.
d) Conversió de dades.
En JavaScript no cal que s'especifiqui el tipus de dada d'una variable. El valor que se li
assigna a la variable en un determinat moment és el que determina el seu tipus. Durant el
temps d'execució d'un programa, el tipus de dades d'una variable pot canviar, és a dir, les
Pàgina 9 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Exemple:
var alumne=3;
alumne=”Joan”;
Exemple 1:
var aPartirde = 1, frase;
var finsAqui = 10;
var ferQue = "Comptar des de ";
frase = ferQue + aPartirde + " a " + finsAqui + ".";
Exemple 2:
var araQue = 0, frase;
frase = araQue + 1 + "10";
Després de l'execució de les següents línies de codi la variable frase conté "0110".
Exemple 3:
var araEs = 0, resultat;
resultat = araEs + 1 + parseInt("10"); //
//En aquest cas, "+" realiza una suma de nombres i la variable resultat contñe el
//valor 11.
Pàgina 10 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Les paraules que s'han d'evitar són les que s'utilitzen en els noms de funcions o
objectes propis de JavaScript. Paraules com String o parseInt són un exemple. Utilitzar
qualsevol de la primera categoria causessin un error. Utilitzar una paraula reservada del segon
grup pot causar estranys problemes de comportament si intenta utilitzar al mateix temps la seva
variable i l'entitat original del mateix nom, dins del mateix script.
á á
é é
í í
ó ó
ú ú
Á Á
É É
Í Í
Ó Ó
Ú Ú
Ñ Ñ
ñ ñ
¿ ¿
¡ ¡
Ü Ü
ü ü
& &
" "
< <
> >
Pàgina 11 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Exemple:
alert("No s'ha introdu\xeft cap tem\xe0tica");
Exemple:
<HTML>
<HEAD>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=”Javascript”>
var ciudad=”Oviedo”;
var edad=6;carnet=true;
document.write(typeof ciudad + “<BR>”);
document.write(typeof edad + “<BR>”);
document.write(typeof carnet + “<BR>”);
</SCRIPT>
</BODY>
<HTML>
Pàgina 12 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Exemple:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Control d'assistència de l'alumnat</title>
<script src="../jscalendar/calendar.js" type="text/javascript"
xml:space="preserve"></script>
<script src="../jscalendar/lang/calendar-ca.js" type="text/javascript"
xml:space="preserve"></script>
<script src="../jscalendar/calendar-setup.js" type="text/javascript"
xml:space="preserve"></script>
</head>
<body onload="fnOnLoad();">
<div id="container">
<div id="header">
<form id="selector" name="selector" action="#"
method="post">
<h1>Aplicació de control d'assistència de
l'alumnat </h1><br/>
<ul class="navbar">
<li><span class="bloc" id="selecGrup"><div
style="clear: both;"><label>Grup </label></div></span></li>
<li><span class="bloc" id="selecCredit"><div
style="clear: both;"><label>Crèdit/Mòdul </label></div></span></li>
<li><span class="bloc" id="selecAccio"><div
style="clear: both;"><label>Acció </label></div></span></li>
</ul>
</form>
</div>
<div id="content">
<div class="bloc">
<div id="selecDades">
<h4>Aplicació per a la gestió de les faltes
d'assistència de l'alumnat </h4>
<h5>(c) Equip de desenvolupament de la intranet de l'IES
Provençana </h5>
<h6>José Moreno i Robert Plana </h6>
</div>
<div id="info">
</div>
</div>
</div>
</div>
</body>
</html>
Pàgina 13 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
En aquest cas el fitxer “calendar.js” a què fa referència aquesta part del codi es troba
en la carpeta “jscalendar” la qual penja d'un altre carpeta que serà l'arrel on es troba la pàgina
web.
En aquest cas s'ha inclòs la ruta absoluta, el fitxer “calendar.js” es troba exactament a
“/var/www/intraproven//jscalendar/calendar.js” i en el cas de què es realitzi una migració
(per exemple a un altre servidor on hi hagi més aplicacions en funcionament), l'aplicació hauria
de ser modificada per incloure les noves rutes.
Els IDE proveeixen un marc de treball amigable per a la majoria dels llenguatges de
programació com ara C++, Python, Java, C #, Delphi, Visual Basic, etc. En alguns llenguatges,
un IDE pot funcionar com un sistema en temps d'execució, on es permet utilitzar el llenguatge
de programació en forma interactiva, sense necessitat de treball orientat a arxius de text, com
és el cas de Smalltalk o Objective-C.
Pàgina 14 de 15
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
- http://www.ribosomatic.com/articulos/top-librerias-ajax-dhtml-y-javascript/:
Llistat de llibreries, frameworks i eines per a AJAX, DHTML i JavaScript.
- http://almacenplantillasweb.es/herramientas/frameworks-de-desarrollo-
web-gratis/frameworks-de-desarrollo-web-en-javascript/ : frameworks de
desenvolupament web en Javascript.
Pàgina 15 de 15