Definitioner af JavaScript-funktion

JavaScript-funktioner er defineret med nøgleordet function.

du kan bruge en funktionserklæring eller et funktionsudtryk.

Funktionserklæringer

tidligere i denne tutorial lærte du, at funktioner erklæres med følgende syntaks:

funktion functionName (parametre) {
/ / kode, der skal udføres
}

deklarerede funktioner udføres ikke straks. De er “gemt til senere brug”, og vil blive henrettet senere, når de påberåbes (kaldet på).

eksempel

funktion myfunktion (A, b) {
retur a * b;
}

prøv det selv ”

semikoloner bruges til at adskille eksekverbare JavaScript-udsagn.
da en funktionsdeklaration ikke er en eksekverbar sætning, er det ikke almindeligt at afslutte den med et semikolon.

Funktionsudtryk

en JavaScript-funktion kan også defineres ved hjælp af et udtryk.

et funktionsudtryk kan gemmes i en variabel:

eksempel

var = funktion (A, b) {return a * b};

prøv det selv “

når et funktionsudtryk er blevet gemt i en variabel, kan variablen bruges som en funktion:

eksempel

var h = funktion(A, b) {return A * B};
var H = H (4, 3);

prøv det selv ”

funktionen ovenfor er faktisk en anonym funktion (en funktion uden navn).

funktioner, der er gemt i variabler, behøver ikke funktionsnavne. De påberåbes altid (kaldes) ved hjælp af variabelnavnet.

funktionen ovenfor slutter med et semikolon, fordi det er en del af en eksekverbar sætning.

funktionen () konstruktør

som du har set i de foregående eksempler, defineres JavaScript-funktioner med nøgleordet function.

funktioner kan også defineres med en indbygget JavaScript-funktionskonstruktør kaldet Function().

eksempel

var myFunction = ny funktion(“a”, “b”, “return A * b”);
var = myFunction(4, 3);

prøv det selv ”

du behøver faktisk ikke bruge funktionskonstruktøren. Eksemplet ovenfor er det samme som at skrive:

eksempel

var myFunction = funktion (A, b) {return A * b};
var = myFunction(4, 3);

prøv det selv”

det meste af tiden kan du undgå at bruge nøgleordet new i JavaScript.

funktion hejsning

tidligere i denne tutorial lærte du om “hejsning” (JavaScript hejsning).

hejsning er JavaScript ‘ s standardadfærd for at flytte erklæringer til toppen af det nuværende omfang.

hejsning gælder for variable erklæringer og funktionserklæringer.

på grund af dette kan JavaScript-funktioner kaldes, før de erklæres:

myfunktion (5);
funktion myfunktion (y) {
retur y * y;
}

funktioner defineret ved hjælp af et udtryk hejses ikke.

Selvpåkaldende funktioner

Funktionsudtryk kan laves “selvpåkaldelse”.

et selvudråbende udtryk påberåbes (startes) automatisk uden at blive kaldt.

Funktionsudtryk udføres automatisk, hvis udtrykket efterfølges af ().

du kan ikke selv påberåbe en funktionserklæring.

du skal tilføje parenteser omkring funktionen for at indikere, at det er et funktionsudtryk:

eksempel

(funktion () {
var = ” Hej!!”; / / Jeg vil påberåbe mig selv
})();

prøv det selv ”

funktionen ovenfor er faktisk en anonym selvpåkaldende funktion (funktion uden navn).

funktioner kan bruges som værdier

JavaScript-funktioner kan bruges som værdier:

eksempel

funktion myfunktion (A, b) {
retur a * b;
}
var = myfunktion (4, 3);

prøv det selv “

JavaScript-funktioner kan bruges i udtryk:

eksempel

funktion myfunktion(A, b) {
retur a * b;
}
var = myfunktion(4, 3) * 2;

prøv det selv ”

funktioner er objekter

operatøren typeof i JavaScript returnerer “funktion” for funktioner.

men JavaScript-funktioner kan bedst beskrives som objekter.

JavaScript-funktioner har både egenskaber og metoder.

egenskaben arguments.length Returnerer antallet af argumenter, der blev modtaget, da funktionen blev påberåbt:

eksempel

funktion myfunktion(A, b) {
returargumenter.længde;
}

prøv det selv ”

metoden toString() returnerer funktionen som en streng:

eksempel

funktion myfunktion(A, b) {
retur a * b;
}
var tekst = myfunktion.toString ();

prøv det selv ”

en funktion defineret som et objekts egenskab, kaldes en metode til objektet.
en funktion designet til at oprette nye objekter, kaldes en objektkonstruktør.

Pilfunktioner

Pilfunktioner tillader en kort syntaks til skrivning af funktionsudtryk.

du behøver ikke nøgleordet function, nøgleordet return og de krøllede parenteser.

eksempel

/ / ES5
var = funktion (h, y) {
return * y;
}
// ES6
const = (h, y) => h * y;

prøv det selv ”

Pilfunktioner har ikke deres egne this.De er ikke velegnede til at definere objektmetoder.

Pilfunktioner hejses ikke. De skal defineres, før de bruges.

brug af const er sikrere end brug af var, fordi et funktionsudtryk altid er konstant værdi.

du kan kun udelade nøgleordet return og de krøllede parenteser, hvis funktionen er en enkelt sætning. På grund af dette kan det være en god vane at altid holde dem:

eksempel

const H = (H, y) = > { return h * y};

prøv det selv ”

Pilfunktioner understøttes ikke i IE11 eller tidligere.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

More: