JavaScript is een scripttaal voor het web gebruikt om berekeningen uit te voeren of de controle van de lay-out van webpagina's , terwijl ingebed in HTML script . Kracht en flexibiliteit toestaat komt uit het feit dat toestaat een object - georiënteerde taal , wat betekent dat het aantal functies van andere talen bevat . Hierdoor vele soorten gegevens in JavaScript zijn objecten , waaronder functies . Functies gedragen als objecten kunnen programmeurs interessante dingen te doen met hen , zoals nesten in andere functies . Functies en Return Values Functies nemen meestal een lijst met argumenten , voeren sommige code op basis van deze argumenten , en ofwel het uitvoeren van een operatie of retourneren een waarde . Wanneer een functie een waarde , betekent dit dat de functie in zekere zin voert een waarde, die een programmeur in een berekening kan toewijzen aan een variabele of gebruiken . De retourwaarde kan een scalair gegevenstype ( bijvoorbeeld een geheel getal ) , of een object . Bijvoorbeeld , de volgende functie neemt een getal en geeft het aantal vermenigvuldigd met drie : functie triple ( x ) op { return x * 3 ; } Geneste functies Binnen een functie , de programmeur kan nog een andere functie te definiëren om een taak uit te voeren . De definitie werkwijze is precies hetzelfde , maar het gebruik van de functie verschilt . Wanneer een programmeur verklaart een functie in de globale scope , kan ze die functie gedurende het programma te gebruiken . Wanneer een programmeur verklaart een functie binnen een andere functie , echter , de enige plek waar ze kunnen die functie is binnen de functie verklaarde ze het erin Het volgende voorbeeld illustreert dit punt : functie triple ( x ) op Twitter { functie addThree ( y) { return y + y + y ; } terugkeer addThree ( x ) op ; //keert de terugkeer resultaat van " addThree " } functie dubbele ( x ) op { addThree ( x ) ; //illegaal , addThree kan alleen worden aangeroepen vanuit de " triple" functie Variabelen en geneste functies de reden functies kunnen niet alle functies op te roepen in andere functies verklaard is, omdat de interne functie niet buiten functies " scope . " De functie " addThree " in de omvang van de functie "triple " . de functie " dubbel" is buiten de scope triple 's , en geen toegang tot de interne onderdelen . Echter , " addThree " is binnen " triple 's" reikwijdte , en dus toegang tot de interne keuken van ' triple '. Dit betekent dat de variabelen gedeclareerd in " triple " eerlijk zijn om te gebruiken voor " addThree , " en de functie zou er als volgt uitzien : functie triple ( x ) op { functie addThree ( ) { return x + x + x ; } terugkeer addThree Terugkerend Andere functies Omdat functies zijn objecten , kan een functie een functie in plaats van de gegevens terug . Dit betekent dat bepaalde gegevensverzending kan geven tot andere , geneste functies en retourneren deze functies . Vervolgens kan de programmeur de interne functie van uit de functies scope externe bellen . Het volgende voorbeeld beschrijft hoe dit werkt : functie out ( x ) { functie add ( y) terugkeer x + y ; } < br terugkeer binnen > ; } x = out ( 3 ) ; //x heeft nu de functie object " add ( y ) " , die een x-waarde van 3 heeft < br > y = x ( 2 ) ; //x = "add ( 2 ) " dat is 3 + 2 , dus y = 5
|