JavaScript-funksjoner er definert medfunction
søkeord.
Du kan bruke en funksjon erklæring eller en funksjon uttrykk.
Funksjon Erklæringer
Tidligere i denne opplæringen, vil du lært at funksjoner blir vedtatt med følgende syntaks:
// kode for å bli henrettet
}
Erklært funksjoner er ikke utført umiddelbart., De er «lagret for senere bruk», og vil bli utført senere, når de aktiveres (kalt på).
Eksempel
gå tilbake a * b;
}
Prøv det Selv »
Semikolon brukes til å skille kjørbare JavaScript uttalelser.
Siden en funksjon erklæring er ikke en kjørbar uttalelse, det er ikke vanlig å avslutte den med et semikolon.
Funksjon Uttrykk
En JavaScript-funksjon kan også være definert ved hjelp av et uttrykk.,
En funksjon uttrykk kan være lagret i en variabel:
Eksempel
Prøv det Selv »
Når en funksjon uttrykk har blitt lagret i en variabel variabelen kan brukes som en funksjon:
Eksempel
var z = x(4, 3);
Prøv det Selv »
Den funksjonen ovenfor er faktisk en anonym funksjon (en funksjon uten navn).
Funksjoner som er lagret i variabler som ikke trenger funksjon navn. De er alltid brukt (kalt) ved hjelp av variabelen navn.,
Den funksjonen ovenfor avsluttes med et semikolon fordi det er en del av et kjørbart uttalelse.
Function() Konstruktør
Som du har sett i de foregående eksemplene, JavaScript-funksjoner er definert med function
søkeord.
Funksjoner kan også være definert med en innebygd JavaScript-funksjon som konstruktør kalt Function()
.,
Eksempel
var x = myFunction(4, 3);
Prøv det Selv »
Du faktisk ikke trenger å bruke den funksjonen som konstruktør. Eksempelet ovenfor er det samme som å skrive:
Eksempel
var x = myFunction(4, 3);
Prøv det Selv »
Mesteparten av tiden, kan du unngå ved å bruke new
søkeord i JavaScript.,
Funksjon Løfting
Tidligere i denne opplæringen, du har lært om «løfting» (JavaScript-Løfting).
Løfting er JavaScript er standard virkemåte for å flytte erklæringer til toppen av dagens omfang.
Løfting gjelder variabel-deklarasjoner og funksjon erklæringer.
på Grunn av dette, JavaScript-funksjoner kan kalles før de blir vedtatt:
– funksjonen myFunction(y) {
gå tilbake y * y;
}
Funksjoner som er definert ved hjelp av et uttrykk er ikke heist.,
Selv-ved å ta i Bruk Funksjoner
Funksjon uttrykk kan være laget «self-bruk».
En selv-ved å ta i bruk uttrykk som er brukt (i gang) automatisk, uten å bli kalt.
Funksjon uttrykk vil utføre automatisk hvis uttrykket er etterfulgt av ().
Du kan ikke selv-aktivere en funksjon erklæring.
Du må sette parentes rundt funksjonen til å indikere at det er en funksjon uttrykk:
Eksempel
var x = «Hallo!!,»; // Jeg vil påberope meg
})();
Prøv det Selv »
Den funksjonen ovenfor er faktisk en anonym selv-ved å ta i bruk funksjonen (funksjon uten navn).,
Funksjoner som Kan Brukes som Verdier
JavaScript-funksjoner, kan brukes som verdier:
Eksempel
gå tilbake a * b;
}
var x = myFunction(4, 3);
Prøv det Selv »
JavaScript-funksjoner, kan brukes i uttrykk:
Eksempel
gå tilbake a * b;
}
var x = myFunction(4, 3) * 2;
Prøv det Selv »
Funksjoner er Objekter
typeof
operatør i JavaScript returnerer «funksjon» for funksjoner.,
Men, JavaScript-funksjoner kan best beskrives som objekter.
JavaScript-funksjoner har både egenskaper og metoder.
arguments.length
eiendom returnerer antall argumenter mottatt når funksjonen ble brukt:
Eksempel
gå tilbake argumenter.lengde;
}
Prøv det Selv »
toString()
metoden returnerer funksjonen som en string:
Eksempel
gå tilbake a * b;
}
var txt = myFunction.,toString();
Prøv det Selv »
En funksjon som er definert som eiendom av et objekt, kalles en metode til objektet.
En funksjon som er designet til å lage nye objekter, kalles et objekt constructor.
Pil Funksjoner
Pil funksjoner lar en kort syntaksen for å skrive-funksjonen uttrykk.
Du trenger ikke function
nøkkelord return
søkeord, og klammeparentes.,
Eksempel
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
Prøv det Selv »
Pil-funksjonene som ikke har egne this
.De er ikke godt egnet for å definere objektet metoder.
Pil-funksjoner er ikke heist. De må være definert før de er brukt.
ved Hjelp av const
er sikrere enn å bruke var
, fordi en funksjon uttrykk er alltid konstant verdi.,
Du kan bare utelate return
søkeord og klammeparentes hvis funksjonen er en enkel uttalelse. På grunn av dette, kan det være en god vane å alltid holde dem:
Eksempel
Prøv det Selv »
Pil-funksjoner, støttes ikke i IE11 eller tidligere.