JS Tutoriaal

JS TUIS JS Inleiding JS Waarheen JS Uitset JS Verklarings JS sintaksis JS Kommentaar JS veranderlikes JS Laat JS Konst JS-operateurs JS Rekenkunde JS Opdrag JS datatipes JS Funksies JS Voorwerpe JS Events JS Strings JS String Metodes JS String Soek JS String Templates JS nommers JS-nommermetodes JS Skikkings JS Skikking Metodes JS Array Sorteer JS Skikking Iterasie JS Array Konst JS Datums JS Datum Formate JS Datum Kry Metodes JS Datum Stel Metodes JS Wiskunde JS Random JS Booleans JS Vergelykings JS Voorwaardes JS Skakelaar JS Loop Vir JS Loop For In JS Loop Vir Van JS Loop Terwyl JS Break JS Iterables JS-stelle JS Kaarte JS tipe JS Tipe Omskakeling JS Bitwise JS RegExp JS foute JS Bestek JS Hysing JS Streng modus JS hierdie sleutelwoord JS Arrow Funksie JS Klasse JS JSON JS Ontfouting JS Stylgids JS Beste Praktyke JS foute JS prestasie JS Voorbehou Woorde

JS weergawes

JS weergawes JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS Geskiedenis

JS Voorwerpe

Voorwerpdefinisies Voorwerp Eienskappe Voorwerp Metodes Voorwerp vertoon Voorwerptoebehore Voorwerpkonstrukteurs Voorwerpprototipes Object Iterables Voorwerpstelle Voorwerpkaarte Voorwerpverwysing

JS Funksies

Funksie definisies Funksie parameters Funksie Aanroep Funksie oproep Funksie Pas toe Funksie sluitings

JS Klasse

Klasintro Klas Erfenis Klas Staties

JS Async

JS Terugbelle JS Asynchroon JS Beloftes JS Async/Wag

JS HTML DOM

DOM Inleiding DOM Metodes DOM-dokument DOM Elemente DOM HTML DOM-vorms DOM CSS DOM-animasies DOM-geleenthede DOM Gebeurtenis Luisteraar DOM-navigasie DOM nodusse DOM Versamelings DOM Node lyste

JS Browser BOM

JS venster JS skerm JS ligging JS Geskiedenis JS Navigator JS Popup Alert JS Tydsberekening JS koekies

JS Web API's

Web API Inleiding Webvorms API Webgeskiedenis API Webberging API Webwerker API Web haal API Web Geolocation API

JS AJAX

AJAX Intro AJAX XMLHttp AJAX-versoek AJAX-reaksie AJAX XML-lêer AJAX PHP AJAX ASP AJAX-databasis AJAX toepassings AJAX voorbeelde

JS JSON

JSON Inleiding JSON-sintaksis JSON vs XML JSON-datatipes JSON Ontleed JSON Stringify JSON-voorwerpe JSON-skikkings JSON-bediener JSON PHP JSON HTML JSON JSONP

JS vs jQuery

jQuery keurders jQuery HTML jQuery CSS jQuery DOM

JS grafika

JS grafika JS Canvas JS Plot JS Chart.js JS Google Chart JS D3.js

JS Voorbeelde

JS Voorbeelde JS HTML DOM JS HTML-invoer JS HTML-voorwerpe JS HTML-geleenthede JS Blaaier JS Redakteur JS Oefeninge JS Vasvra JS Sertifikaat

JS Verwysings

JavaScript-voorwerpe HTML DOM-voorwerpe


JavaScript- funksieparameters


'n JavaScript functionvoer geen kontrolering van parameterwaardes (argumente) uit nie.


Funksieparameters en argumente

Vroeër in hierdie tutoriaal het jy geleer dat funksies parameters kan hê :

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

Funksieparameters is die name wat in die funksiedefinisie gelys word.

Funksie- argumente is die werklike waardes wat na (en ontvang word deur) die funksie.


Parameter reëls

JavaScript-funksiedefinisies spesifiseer nie datatipes vir parameters nie.

JavaScript-funksies voer nie tipe kontrole uit op die geslaagde argumente nie.

JavaScript-funksies kontroleer nie die aantal argumente wat ontvang is nie.


Verstek parameters

As 'n funksie geroep word met ontbrekende argumente (minder as verklaar), word die ontbrekende waardes op gestel undefined.

Soms is dit aanvaarbaar, maar soms is dit beter om 'n verstekwaarde aan die parameter toe te ken:

Voorbeeld

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

ECMAScript 2015 laat verstekparameterwaardes toe in die funksieverklaring:

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


Die argumente beswaar

JavaScript-funksies het 'n ingeboude objek wat die arguments-objek genoem word.

Die argumentobjek bevat 'n skikking van die argumente wat gebruik is toe die funksie opgeroep (opgeroep) is.

Op hierdie manier kan jy eenvoudig 'n funksie gebruik om (byvoorbeeld) die hoogste waarde in 'n lys getalle te vind:

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 skep 'n funksie om alle invoerwaardes op te som:

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;
}

As 'n funksie opgeroep word met te veel argumente (meer as wat verklaar is), kan hierdie argumente bereik word deur die arguments object .


Argumente word deur waarde deurgegee

Die parameters in 'n funksie-oproep is die funksie se argumente.

JavaScript-argumente word deur waarde deurgegee : Die funksie leer net die waardes ken, nie die argument se liggings nie.

As 'n funksie 'n argument se waarde verander, verander dit nie die parameter se oorspronklike waarde nie.

Veranderinge aan argumente is nie sigbaar (weerspieël) buite die funksie nie.


Voorwerpe word deur verwysing deurgegee

In JavaScript is objekverwysings waardes.

As gevolg hiervan sal voorwerpe optree asof hulle deur verwysing deurgegee word:

As 'n funksie 'n objek-eienskap verander, verander dit die oorspronklike waarde.

Veranderinge aan voorwerp eienskappe is sigbaar (weerspieël) buite die funksie.