JavaScript er et skriptspråk for Web brukes til å utføre beregninger eller kontrollere layout av websider mens innebygd i HTML script . JavaScript kraft og fleksibilitet kommer fra det faktum at JavaScript er et objektorientert språk , noe som betyr at det inneholder noen funksjonaliteten til andre språk . På grunn av dette , mange typer data i JavaScript er objekter , inkludert funksjoner. Funksjoner oppfører som objekter lar programmerere å gjøre interessante ting med dem, som hekker dem i andre funksjoner. Funksjoner og returverdiene
Funksjoner vanligvis ta en liste med argumenter , utføre noen kode basert på disse argumentene , og enten utføre en operasjon eller returnere en verdi. Når en funksjon returnerer en verdi , betyr dette at funksjonen i en forstand utganger en verdi, som en programmerer kan tilordne til en variabel eller bruk i en annen beregning. Returverdien kan være en skalar datatype ( for eksempel et heltall) , eller et objekt. For eksempel tar følgende funksjonen et tall og returnerer antall multiplisert med tre : en
funksjon trippel ( x )
{
avkastning x * 3 ;
< p> }
Nøstet Funksjoner
Inne i en funksjon , kan programmereren definere enda en funksjon for å utføre en oppgave . Definisjonen prosessen er nøyaktig den samme , men bruk av funksjonen forskjellig. Når en programmerer erklærer en funksjon i den globale omfang, kan hun bruke denne funksjonen gjennom hele programmet. Når en programmerer erklærer en funksjon i en annen funksjon , men er det eneste stedet hun kan bruke den funksjonen inne i funksjon erklærte hun det i. Følgende eksempel illustrerer dette poenget : en
funksjon trippel ( x )
{
funksjon addThree ( y) {
retur y + y + y;
}
retur addThree ( x ), //returnerer tilbake resultat av " addThree "
}
funksjon dobbel ( x )
{
addThree ( x ), //ulovlig , addThree kan bare kalles fra inne i "triple " funksjon
Variabler og nestede funksjoner
grunnen funksjoner kan ikke kalle noen av funksjonene erklært inni andre funksjoner er fordi den interne funksjonen er ikke i utsiden funksjoner "scope ". Den " addThree "-funksjonen eksisterer i omfanget av den " trippel "-funksjon. "double "-funksjonen er utenfor trippel omfang, og får ikke tilgang til sine interne deler. Men " addThree " er inne "triple er" omfang, og kan derfor få tilgang til innvendige av "triple ". Dette betyr at variabler deklarert i "triple " er rimelig å bruke for " addThree ", og funksjonen kan se slik ut : en
funksjon trippel ( x )
{
funksjon addThree ( ) {
avkastning x + x + x ;
}
retur addThree
Hjemreise Andre funksjoner
Siden funksjonene er objekter , kan en funksjon returnerer en funksjon i stedet for data . Dette betyr at visse funksjoner kan ta data for å gi til andre , sammenhengende funksjoner , og returnere disse funksjonene. Deretter kan programmereren kalle den interne funksjon fra ut på den eksterne funksjoner omfang. Følgende eksempel viser hvordan dette fungerer :
funksjon ut ( x ) {
funksjonen add ( y)
avkastning x + y;
}
retur inne ;
}
x = ut ( 3 ), //x nå innehar funksjonen objekt "add ( y ) " som har en x-verdi av 3
y = x ( 2 ), //x = " add ( 2 ) " som er 3 + 2 , så y = 5