JavaScript-funktioner er defineret medfunction
søgeord.
Du kan bruge en funktionsdeklaration eller et funktionsudtryk.
Funktion Erklæringer
Tidligere i denne tutorial, du har lært, at funktioner, der er erklæret med følgende syntaks:
// kode
}
Erklæret funktioner er ikke udført med det samme., De er “gemt til senere brug”, og vil blive henrettet senere, når de påberåbes (påkaldes).
Eksempel
return a * b;
}
Prøv det Selv ”
Semikolon bruges til at adskille eksekverbare JavaScript-sætninger.
da en funktion erklæring ikke er en eksekverbar erklæring, er det ikke almindeligt at afslutte det med et semikolon.
Funktionsudtryk
en JavaScript-funktion kan også defineres ved hjælp af et udtryk.,
En funktion udtryk kan være gemt i en variabel:
Eksempel
Prøv det Selv ”
Efter en funktion, udtryk, er blevet gemt i en variabel, vil den variable kan bruges som en funktion:
Eksempel
var z = x(4, 3);
Prøv det Selv ”
Den funktion 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 (kaldet) ved hjælp af variabelnavnet.,
funktionen ovenfor slutter med et semikolon, fordi det er en del af en eksekverbar erklæring.
Function() Constructor
Som du har set i de foregående eksempler, JavaScript-funktioner er defineret med function
søgeord.
funktioner kan også defineres med en indbygget JavaScript-funktionskonstruktør kaldet Function()
.,
Eksempel
var x = minfunktion(4, 3);
Prøv det Selv ”
Du faktisk ikke nødt til at bruge constructor-funktion. Ovenstående eksempel er det samme som at skrive:
Eksempel
var x = minfunktion(4, 3);
Prøv det Selv ”
de Fleste af den tid, kan du undgå at bruge new
søgeord i JavaScript.,
Funktionshejsning
tidligere i denne vejledning lærte du om “hejsning” (JavaScript-hejsning).
hejsning er JavaScript ‘ s standardopførsel af at flytte erklæringer til toppen af det aktuelle omfang.
hejsning gælder for variable deklarationer og for funktionsdeklarationer.
på Grund af dette, JavaScript-funktioner kan kaldes, før de er erklæret:
funktion minfunktion(y) {
return y * y;
}
Funktioner, der er defineret ved hjælp af et udtryk, er ikke hejst.,
Selvkaldende funktioner
Funktionsudtryk kan gøres “selvkaldende”.
et selvkaldende 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 sig en funktion erklæring.
Du skal tilføje parenteser omkring funktionen for at indikere, at det er et funktionsudtryk:
eksempel
var var = “Hej!!,”;//Jeg vil påberåbe mig
}) ();
prøv det selv ”
funktionen ovenfor er faktisk en anonym selvkaldende funktion (funktion uden navn).,
Funktioner, der Kan Bruges som Værdier
JavaScript-funktioner, der kan bruges som værdier:
Eksempel
return a * b;
}
var x = minfunktion(4, 3);
Prøv det Selv ”
JavaScript-funktioner, der kan bruges i udtryk:
Eksempel
return a * b;
}
var x = minfunktion(4, 3) * 2;
Prøv det Selv ”
Funktioner er Genstande
typeof
operatør i JavaScript vender tilbage “funktion” for funktioner.,
men JavaScript-funktioner kan bedst beskrives som objekter.JavaScript-funktioner har både egenskaber og metoder.
arguments.length
ejendom returnerer antallet af argumenter, der modtages, når funktionen blev aktiveret:
Eksempel
tilbage argumenter.længde;
}
Prøv det Selv ”
toString()
metoden returnerer funktionen som en streng:
Eksempel
return a * b;
}
var txt = minfunktion.,toString ();
prøv det selv ”
en funktion defineret som egenskaben af et objekt, kaldes en metode til objektet.
En funktion designet til at skabe nye objekter, kaldes et objekt konstruktør.
Pilefunktioner
Pilefunktioner tillader en kort syntaks til skrivning af funktionsudtryk.
Du behøver ikke function
nøgleord, return
nøgleord og de krøllede parenteser.,
Eksempel
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
Prøv det Selv ”
Pil funktioner, der ikke har deres egen this
.De er ikke velegnede til at definere objektmetoder.
Pilefunktioner hejses ikke. De skal defineres, før de anvendes.
brug af const
er sikrere end at bruge var
, fordi et funktionsudtryk altid er konstant værdi.,
Du kan kun udelade return
nøgleord og de krøllede parenteser, hvis funktionen er en enkelt sætning. På grund af dette, kan det være en god vane altid at holde dem:
Eksempel
Prøv det Selv ”
Pil funktioner er ikke understøttet i IE11 eller tidligere.