JavaScript Definiëren & Functies Aanroepen met Voorbeeld
⚡ Slimme samenvatting
JavaScriptfuncties groeperen herbruikbare codeblokken die alleen worden uitgevoerd wanneer ze worden aangeroepen. Deze handleiding laat zien hoe je een scriptfunctie declareert, argumenten eraan doorgeeft en een waarde teruggeeft aan de aanroeper.

Wat is functie in JavaScript?
Functies zijn erg belangrijk en nuttig in elke programmeertaal, omdat ze code herbruikbaar maken. Een functie is een blok code dat alleen wordt uitgevoerd als het wordt aangeroepen. Als je een paar regels code hebt die je meerdere keren moet gebruiken, kun je een functie maken die de herhalende regels code bevat en die functie vervolgens aanroepen waar je maar wilt.
Niets binnen de accolades wordt zelfstandig uitgevoerd. De browser slaat het codeblok op onder de naam die je eraan hebt gegeven, en de code wordt alleen uitgevoerd wanneer die naam tussen haakjes staat, zoals: myFunction()Functies staan daarom centraal in alles. JavaScript programma, ongeacht of het script bestaat binnen de pagina of in een extern bestand.
Hoe u een functie kunt maken in JavaScript
- Gebruik het trefwoord functie gevolgd door de naam van de functie.
- Open en sluit haakjes na de functienaam.
- Open en sluit accolades na haakjes.
- Schrijf tussen accolades uw coderegels.
Syntax:
function functionname()
{
lines of code to be executed
}
Het onderstaande voorbeeld definieert myFunction() en roept het vervolgens op de volgende regel aan, zodat het bericht verschijnt zodra de pagina geladen is. Probeer het zelf:
<html>
<head>
<title>Functions!!!</title>
<script type="text/javascript">
function myFunction()
{
document.write("This is a simple function.<br />");
}
myFunction();
</script>
</head>
<body>
</body>
</html>
Functie met argumenten
Je kunt ook functies met argumenten maken. Argumenten moeten tussen haakjes worden geplaatst.
Syntax:
function functionname(arg1, arg2)
{
lines of code to be executed
}
Hier countVowels() De functie ontvangt de naam die de bezoeker in het invoerveld typt, doorloopt elk teken en rapporteert hoeveel klinkers de naam bevat. Probeer het zelf:
<html>
<head>
<script type="text/javascript">
var count = 0;
function countVowels(name)
{
for (var i=0;i<name.length;i++)
{
if(name[i] == "a" || name[i] == "e" || name[i] == "i" || name[i] == "o" || name[i] == "u")
count = count + 1;
}
document.write("Hello " + name + "!!! Your name has " + count + " vowels.");
}
var myName = prompt("Please enter your name");
countVowels(myName);
</script>
</head>
<body>
</body>
</html>
JavaScript retourwaarde
U kunt ook JS-functies maken die waarden retourneren. Binnen de functie moet u het trefwoord gebruiken terugkeer gevolgd door de waarde die moet worden geretourneerd.
Syntax:
function functionname(arg1, arg2) { lines of code to be executed return val1; }
In dit laatste voorbeeld returnSum() Geeft het totaal terug aan de regel die de functie heeft aangeroepen, zodat het resultaat in een zin kan worden opgenomen in plaats van binnen de functie te worden afgedrukt. Probeer het zelf:
<html>
<head>
<script type="text/javascript">
function returnSum(first, second)
{
var sum = first + second;
return sum;
}
var firstNo = 78;
var secondNo = 22;
document.write(firstNo + " + " + secondNo + " = " + returnSum(firstNo,secondNo));
</script>
</head>
<body>
</body>
</html>
Soorten functies in JavaScript
De drie bovenstaande voorbeelden gebruiken allemaal de klassieke functiedeclaratie, maar dan modern. JavaScript biedt verschillende andere vormen aan. Deze verschillen voornamelijk in de vraag of de motor ze hijst en in de manier waarop elke vorm ermee omgaat. this trefwoord.
| Functietype | Typische syntaxis | Wanneer het gebruikt wordt |
|---|---|---|
| Functiedeclaratie | functie begroeten() { } | Benoemde, herbruikbare logica; naar de top van het bereik gebracht. |
| Functie-uitdrukking | const greet = function () { }; | Een functie opslaan in een variabele; niet gehoist. |
| Pijlfunctie (ES6) | const greet = () => { }; | Korte callbacks; erft dit over van de omringende scope. |
| Anonieme functie | setTimeout(function () { }, 100); | Eenmalige logica wordt direct doorgegeven aan een andere functie. |
| IIFE | (functie () { })(); | Wordt direct uitgevoerd en houdt zijn variabelen privé. |
| Terugbellen | items.forEach(showItem); | Een functie die aan een andere functie wordt doorgegeven en later wordt aangeroepen. |
Opmerking bij de bovenstaande voorbeelden: de historische voorbeelden gebruiken var en document.write(), en beide werken nog steeds in elke browser. De huidige praktijk declareert variabelen met let or const en print de uitvoer via console.log() of door in te stellen textContent op een element, omdat document.write() Verwijdert een pagina die al volledig geladen is. type="text/javascript" Het attribuut is ook optioneel in HTML5.
Functieparameters, argumenten en standaardwaarden
Parameters zijn de plaatsaanduidingen die in de definitie worden vermeld, terwijl argumenten de werkelijke waarden zijn die worden doorgegeven wanneer de functie wordt aangeroepen. countVowels(name) bovenstaande, name is de parameter en de tekst die in de prompt wordt getypt, is het argument.
function greet(user, greeting = "Hello") { return greeting + ", " + user; } greet("Ann"); greet("Ann", "Welcome");
- Een parameter zonder overeenkomend argument wordt
undefinedtenzij een standaardwaarde is opgegeven, zoalsgreetingis hier. - Extra argumenten worden genegeerd door de parameterlijst, maar blijven bereikbaar via de
argumentsobject binnen een functie die geen pijlfunctie is. - Een restparameter geschreven als
...valuesbundelt alle resterende argumenten tot een echt geheel reeks.
Functiebereik en hoisting in JavaScript
De plaats waar een functie wordt geschreven, bepaalt wat de functie kan zien en wanneer deze kan worden aangeroepen. Twee regels verklaren bijna elke verrassing waar beginners tegenaan lopen.
- Hijsen: Functiedeclaraties worden naar de bovenkant van hun bereik verplaatst voordat het script wordt uitgevoerd, zodat ze mogelijk op een regel boven hun definitie worden aangeroepen. Functie-uitdrukkingen en pijlfuncties worden niet naar boven verplaatst en genereren een foutmelding als ze te vroeg worden aangeroepen.
- Domein: variabelen die zijn gedeclareerd met
varBinnen een functie zijn zichtbaar gedurende de hele functie, terwijlletenconstzijn beperkt tot het blok waarin ze zich bevinden. Alles wat buiten een functie wordt gedeclareerd, is globaal.
De klinkerteller laat dit in de praktijk zien. count De variabele wordt buiten de functie gedeclareerd, dus het aanroepen ervan... countVowels() Als de teller een tweede keer op dezelfde pagina wordt gezet, wordt het totaalbedrag bij het vorige opgeteld in plaats van opnieuw bij nul te beginnen. Door de declaratie binnen de functie te plaatsen, zou deze bij elke aanroep gereset worden.
Deze scoresping Deze regels gelden ook voor servercode, vandaar dat dezelfde redenering van toepassing is bij het schrijven van functies voor Node.jsen waarom functioneel gedrag zo vaak voorkomt in JavaStel interviewvragen op..
