JavaScript er et scriptsprog for Web bruges til at udføre beregninger eller kontrollere layoutet af websider , mens indlejret i HTML script. JavaScript magt og fleksibilitet kommer fra det faktum , at JavaScript er et objektorienteret sprog , hvilket betyder, at det indeholder nogle funktioner af andre sprog. På grund af dette , er mange typer af data i JavaScript genstande, herunder funktioner. Funktioner opfører sig som objekter tillader programmører til at gøre interessante ting med dem, ligesom reden dem i andre funktioner. Funktioner og returværdier
funktioner, der typisk tager en liste med argumenter , udføre nogle kode baseret på disse argumenter , og enten udføre en operation eller returnere en værdi. Når en funktion returnerer en værdi , betyder dette, at funktionen i en vis forstand udsender en værdi , som en programmør kan tildele en variabel eller anvendelse i en anden beregning . Returværdien kan være en skalar datatype (såsom et heltal ) , eller et objekt . For eksempel tager følgende funktion et nummer og returnerer antallet ganget med tre : Hej
funktion triple (x )
{
afkast x * 3 ;
< p> }
indlejrede funktioner
Inde i en funktion, kan programmøren definere endnu en funktion til at udføre nogle opgaver . Definitionen processen er nøjagtig den samme , men brug af funktionen forskellig. Når en programmør erklærer en funktion i den globale rækkevidde , kan hun bruge denne funktion i hele programmet. Når en programmør erklærer en funktion i en anden funktion , men det eneste sted hun kan bruge denne funktion er inde i den funktion hun erklærede det i. Følgende eksempel illustrerer dette punkt : Hej
funktion triple (x )
{
funktion addThree (y) {
afkast y + y + y ,
}
afkast addThree ( x ) //returnerer tilbagevenden resultat af " addThree "
}
funktion dobbelt ( x )
{
addThree ( x ) //ulovligt, addThree kan kun kaldes indefra "triple " funktionen
Variabler og indlejrede funktioner
årsagen funktioner kan ikke kalde nogen funktioner erklæret inde andre funktioner er, fordi den interne funktion er ikke i den udvendige funktioner "scope ". Den " addThree " funktionen eksisterer i omfanget af "triple "-funktionen . "dobbelt "-funktionen er uden triple anvendelsesområde , og kan ikke få adgang til de interne dele. Men " addThree " er inde i " triple s" rækkevidde, og kan derfor få adgang til interne af "triple ". Det betyder, at variabler erklæret i "triple " er fair at bruge for " addThree ", og funktionen kan se sådan ud : Hej
funktion triple (x )
{
funktionen addThree () {
afkast x + x + x ;
}
afkast addThree
Tilbagevendende Andre funktioner
Da funktioner er objekter, kan en funktion returnere en funktion snarere end data. Dette betyder, at visse funktioner kan tage data til at give til andre , indlejrede funktioner , og returnere disse funktioner . Derefter kan programmøren kalde den interne funktion fra ud af den eksterne funktioner rækkevidde . Følgende eksempel beskriver, hvordan det virker :
funktion ud ( x ) {
funktion add ( y)
afkast x + y ,
} < br >
tilbagevenden indeni ,
}
x = ud (3 ) //x ejer nu funktionen objekt " add ( y) ", som har en x-værdi på 3 < br >
y = x ( 2 ) //x = "add (2) ", som er 3 + 2 , så y = 5