Overzicht van ECMAScript Functies
- Vorige pagina switch-statement
- Volgende pagina Het arguments-object
Wat is een functie?
Een functie is een set van statements die overal en altijd kunnen worden uitgevoerd.
Een functie is het hart van ECMAScript.
Een functie wordt op deze manier gedeclareerd: de sleutelwoord function, de naam van de functie, een groep parameters en de code die in de haakjes staat.
De basis语法 van een functie is als volgt:
function functionName(arg0, arg1, ... argN) { statements }
Bijvoorbeeld:
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage); }
Hoe roept u een functie aan?
Een functie kan worden aangeroepen door de naam van de functie te volgen door haakjes met parameters, indien er meerdere parameters zijn.
Als u de functie uit het vorige voorbeeld wilt aanroepen, kunt u de volgende code gebruiken:
sayHi("David", "Nice to meet you!")
Het aanroepen van de functie sayHi() zal een waarschuwingvenster genereren. U kuntProbeer deze voorbeeld zelf uit.
Hoe retourneert een functie een waarde?
De functie sayHi() retourneert geen waarde, maar hoeft niet specifiek te worden verklaard (zoals in Java met void).
Hoewel een functie inderdaad een waarde kan retourneren, hoeft deze niet expliciet te worden verklaard. De functie hoeft alleen de return-operator te gebruiken gevolgd door de waarde die moet worden geretourneerd.
function sum(iNum1, iNum2) { return iNum1 + iNum2; }
De onderstaande code assigneert de waarde die de sum-functie retourneert aan een variabele:
var iResult = sum(1,1); alert(iResult); //Uitvoer "2"
Een ander belangrijk concept is dat, net als in Java, een functie onmiddellijk stopt met het uitvoeren van de code nadat een return-statement is uitgevoerd. Daarom wordt de code na de return-statement niet meer uitgevoerd.
Bijvoorbeeld, in de onderstaande code wordt het alert-scherm niet weergegeven:
function sum(iNum1, iNum2) { return iNum1 + iNum2; alert(iNum1 + iNum2); }
Een functie kan meerdere return-statement hebben, zoals hieronder te zien is:
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } else { return iNum2 - iNum1; } }
De bovenstaande functie retourneert het verschil van twee getallen. Om dit te bereiken, moet het grotere getal worden afgetrokken van het kleinere getal, dus een if-statement wordt gebruikt om te bepalen welke return-statement wordt uitgevoerd.
Als een functie geen waarde retourneert, kan de return-operator zonder parameters worden aangeroepen om op elk moment de functie te verlaten.
Bijvoorbeeld:
function sayHi(sMessage) { if (sMessage == "bye") { return; } alert(sMessage); }
In deze code wordt een waarschuwingsscherm nooit weergegeven als sMessage gelijk is aan "bye".
Opmerking:Als een functie geen expliciete return-waarde heeft, of een return-statement heeft zonder parameters aangeroepen, is de waarde die het daadwerkelijk teruggeeft undefined.
- Vorige pagina switch-statement
- Volgende pagina Het arguments-object