JS-zelfstudie

JS HOME JS Introductie JS Waarheen? JS-uitgang JS-verklaringen JS-syntaxis JS-opmerkingen JS-variabelen JS Let JS Const JS-operators JS Rekenen JS-opdracht JS-gegevenstypen JS-functies JS-objecten JS-evenementen JS-snaren JS String-methoden JS String zoeken JS String-sjablonen JS-nummers JS-nummermethoden JS-arrays JS-array-methoden JS-array sorteren JS-array-iteratie JS Array Const JS-datums JS-datumnotaties JS Datum Ophaalmethoden Methoden voor het instellen van JS-datum JS Math JS Willekeurig JS Booleans JS-vergelijkingen JS-voorwaarden JS-schakelaar JS Loop For JS-lus voor binnen JS Loop For Of JS-lus terwijl JS Break JS-iteraties JS-sets JS-kaarten JS Typeof JS Type conversie JS Bitwise JS RegExp JS-fouten JS-bereik JS Hijsen JS strikte modus JS dit trefwoord JS-pijlfunctie JS-lessen JS JSON JS-foutopsporing JS-stijlgids JS-best practices JS-fouten JS-prestaties JS Gereserveerde Woorden

JS-versies

JS-versies JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-geschiedenis

JS-objecten

Objectdefinities Objecteigenschappen Objectmethoden Objectweergave Objectaccessoires Objectconstructeurs Objectprototypes Object-Iterables Objectsets Objectkaarten Objectreferentie

JS-functies

Functiedefinities Functieparameters: Functie-aanroep Functie-oproep: Functie Toepassen Functie Sluitingen

JS-lessen

Klas Intro Klasse Overerving Klasse Statisch

JS Asynchrone

JS-callbacks JS asynchroon JS belooft JS Async/Wachten

JS HTML DOM

DOM Intro DOM-methoden DOM-document DOM-elementen DOM HTML DOM-formulieren DOM-CSS DOM-animaties DOM-evenementen DOM-gebeurtenisluisteraar DOM-navigatie DOM-knooppunten DOM-collecties DOM-knooppuntlijsten

JS-browserstuklijst

JS-venster JS-scherm JS-locatie JS-geschiedenis JS-navigator JS pop-upwaarschuwing JS-timing JS-koekjes

JS Web API's

Introductie web-API Web Forms API Webgeschiedenis-API Webopslag-API Web Worker-API Web Fetch-API Webgeolocatie-API

JS AJAX

Ajax-intro AJAX XMLHttp Ajax-verzoek Ajax-reactie AJAX XML-bestand AJAX PHP Ajax ASP AJAX-database AJAX-toepassingen Ajax-voorbeelden

JS JSON

JSON-intro JSON-syntaxis JSON versus XML JSON-gegevenstypen JSON ontleden JSON Stringify JSON-objecten JSON-arrays JSON-server JSON PHP JSON HTML JSON JSONP

JS versus jQuery

jQuery-kiezers jQuery HTML jQuery CSS jQuery DOM

JS-graphics

JS-graphics JS Canvas JS Plotly JS Chart.js JS Google-kaart JS D3.js

JS-voorbeelden

JS-voorbeelden JS HTML DOM JS HTML-invoer JS HTML-objecten JS HTML-evenementen JS-browser JS-editor JS-oefeningen JS-quiz JS-certificaat

JS-referenties

JavaScript-objecten HTML DOM-objecten


JavaScript- functieparameters


Een JavaScript functionvoert geen controle uit op parameterwaarden (argumenten).


Functieparameters en argumenten

Eerder in deze zelfstudie hebt u geleerd dat functies parameters kunnen hebben :

function functionName(parameter1, parameter2, parameter3) {
  // code to be executed
}

Functieparameters zijn de namen die in de functiedefinitie worden vermeld.

Functieargumenten zijn de echte waarden die worden doorgegeven aan (en ontvangen door) de functie.


Parameter Regels

JavaScript-functiedefinities specificeren geen gegevenstypen voor parameters.

JavaScript-functies voeren geen typecontrole uit op de doorgegeven argumenten.

JavaScript-functies controleren het aantal ontvangen argumenten niet.


Standaardparameters:

Als een functie wordt aangeroepen met ontbrekende argumenten (minder dan gedeclareerd), worden de ontbrekende waarden ingesteld op undefined.

Soms is dit acceptabel, maar soms is het beter om een ​​standaardwaarde aan de parameter toe te kennen:

Voorbeeld

function myFunction(x, y) {
  if (y === undefined) {
    y = 2;
  }
}

ECMAScript 2015 staat standaard parameterwaarden toe in de functiedeclaratie:

function myFunction(x, y = 2) {
  // function code
}


Het argument-object

JavaScript-functies hebben een ingebouwd object dat het argument-object wordt genoemd.

Het argument-object bevat een array van de argumenten die werden gebruikt toen de functie werd aangeroepen (aangeroepen).

Op deze manier kun je eenvoudig een functie gebruiken om (bijvoorbeeld) de hoogste waarde in een lijst met getallen te vinden:

Voorbeeld

x = findMax(1, 123, 500, 115, 44, 88);

function findMax() {
  let max = -Infinity;
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i] > max) {
      max = arguments[i];
    }
  }
  return max;
}

Of maak een functie om alle invoerwaarden op te tellen:

Voorbeeld

x = sumAll(1, 123, 500, 115, 44, 88);

function sumAll() {
  let sum = 0;
  for (let i = 0; i < arguments.length; i++) {
    sum += arguments[i];
  }
  return sum;
}

Als een functie wordt aangeroepen met te veel argumenten (meer dan gedeclareerd), kunnen deze argumenten worden bereikt met behulp van het argument-object .


Argumenten worden doorgegeven door waarde

De parameters in een functieaanroep zijn de argumenten van de functie.

JavaScript-argumenten worden doorgegeven op waarde : de functie leert alleen de waarden kennen, niet de locaties van het argument.

Als een functie de waarde van een argument wijzigt, verandert dit niet de oorspronkelijke waarde van de parameter.

Wijzigingen in argumenten zijn niet zichtbaar (weerspiegeld) buiten de functie.


Objecten worden doorgegeven door referentie

In JavaScript zijn objectverwijzingen waarden.

Hierdoor gedragen objecten zich alsof ze door verwijzing worden doorgegeven:

Als een functie een objecteigenschap wijzigt, verandert deze de oorspronkelijke waarde.

Wijzigingen in objecteigenschappen zijn zichtbaar (gereflecteerd) buiten de functie.