Crearea unei funcţii în javascript
O funcţie este un set de instrucţiuni JavaScript care efectuează anumite sarcini. Funcţiile sunt foarte des folosite în codul JavaScript.
Orice funcţie are un nume cu care poate fi apelată în script. Funcţiile vă ajută de exemplu când aveţi nevoie de mai multe ori în script de o porţiune de cod. Decât să rescrieţi aceeaşi porţiune de cod de fiecare dată când aveţi nevoie de ea, puteţi scrie de la început o funcţie care include acea porţiune de cod şi astfel să apelaţi acea funcţie de câte ori este nevoie.
O funcţie se crează folosind cuvântul cheie "function" urmat de numele funcţiei împreună cu un set de paranteze. Instrucţiunile din interiorul funţiei sunt marcate de acolade. Exemplu:
function atentionare()
{
alert("Aceasta este un mesaj de alerta apelabil dintr-o functie JavaScript")
}
Apelarea unei funcţii se poate face în mai multe moduri. Exemplu:
<input type="button" value="Alerta" onclick="atentionare()">
Uneori doriţi să preluaţi nişte informaţii şi să le trimiteţi unei funcţii pentru a fi procesate. Această acţiune se numeşte "pasarea" informaţiei către funcţie. Exemplu:
function atentionare(mesaj)
{
alert(mesaj)
}
Iar în codul butonului HTML scriem:
<input type="button" value="Alerta" onclick="atentionare('Ai apasat butonul de alerta')" />
Variabila "mesaj" din funcţia de mai sus este un parametru al funcţiei. La apelarea funcţiei, valoarea "Ai apasat butonul de alerta" este transferată în parametrul "mesaj". Parametrii funcţiilor pot fi orice tip de date pe care le doriţi transmise, fiind incluse şirurile de caractere, numerele sau chiar alte obiecte JavaScript. Iată mai jos un alt exemplu în care se foloseşte aceeaşi funcţie la 3 butoane diferite.
<input type="button" value="Mesaj 1" onclick="atentionare('Buton gresit')" />
<input type="button" value="Mesaj 2" onclick="atentionare('Asta e alt buton')" />
<input type="button" value="Mesaj 3" onclick="atentionare('Bingoooo
')" />
Lucrul cu funcţii care returnează valori
În afară de funcţiile care execută acţiuni şi apoi revin la codul principal mai există şi funcţii care pot returna un rezultat. În următorul exemplu se verifică existenţa plug-in-ului QuickTime iar dacă se găseşte, funcţia returnează valoarea true sau false î n caz contrar.
Cod:
<head>
<title>Test</title>
<script language="Javascript" type="text/javascript">
<!--
function avemQT()
{
for (i=0; i<navigator.plugins.length; i++)
{
if (navigator.plugins[i].name.indexOf("QuickTime") >= 0)
{
return true
}
}
return false
}
-->
</script>
</head>
<body>
<script language="Javascript" type="text/javascript">
<!--
if (avemQT)
{
document.write("Browserul poate rula filme in format mov.")
}
else
{
document.write("Browserul nu are plug-in-ul Quick Time instalat")
}
-->
</script>
</body>