JS-Tutorial

JS-HAUS JS-Einführung JS Wohin JS-Ausgabe JS-Anweisungen JS-Syntax JS-Kommentare JS-Variablen JS Let JS Konst JS-Operatoren JS-Arithmetik JS-Aufgabe JS-Datentypen JS-Funktionen JS-Objekte JS-Ereignisse JS-Strings JS-String-Methoden Suche nach JS-Strings JS-String-Vorlagen JS-Nummern JS-Zahlenmethoden JS-Arrays JS-Array-Methoden JS-Array-Sortierung JS-Array-Iteration JS-Array-Konstante JS-Daten JS-Datumsformate JS Date Get-Methoden JS-Datumssatzmethoden JS Math JS Zufällig JS Boolesche Werte JS-Vergleiche JS-Bedingungen JS-Schalter JS-Schleife für JS-Schleife für In JS-Schleife für Of JS-Schleife While JS Pause JS-Iterables JS-Sets JS-Karten JS Typeof JS-Typkonvertierung JS Bitweise JS RegExp JS-Fehler JS-Bereich JS Heben Strenger JS-Modus JS dieses Schlüsselwort JS-Pfeilfunktion JS-Klassen JS JSON JS-Debugging JS-Styleguide JS Best Practices JS-Fehler JS-Leistung JS Reservierte Wörter

JS-Versionen

JS-Versionen JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-Geschichte

JS-Objekte

Objektdefinitionen Objekteigenschaften Objektmethoden Objektanzeige Objektzugriffsmethoden Objektkonstruktoren Objekt-Prototypen Objekt-Iterables Objektsätze Objektkarten Objektreferenz

JS-Funktionen

Funktionsdefinitionen Funktionsparameter Funktionsaufruf Funktionsaufruf Funktion anwenden Funktionsschließungen

JS-Klassen

Klasse Einführung Klassenvererbung Klasse statisch

JS asynchron

JS-Rückrufe JS asynchron JS verspricht JS Async/Warten

JS-HTML-DOM

DOM-Einführung DOM-Methoden DOM-Dokument DOM-Elemente DOM-HTML DOM-Formulare DOM-CSS DOM-Animationen DOM-Ereignisse DOM-Ereignis-Listener DOM-Navigation DOM-Knoten DOM-Sammlungen DOM-Knotenlisten

Stückliste des JS-Browsers

JS-Fenster JS-Bildschirm JS-Standort JS-Geschichte JS-Navigator JS-Popup-Warnung JS-Timing JS-Cookies

JS-Web-APIs

Web-API-Einführung Web Forms-API Webprotokoll-API Webspeicher-API Web Worker-API Web-Fetch-API Web-Geolocation-API

JS AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

JS JSON

JSON-Einführung JSON-Syntax JSON vs. XML JSON-Datentypen JSON-Parsing JSON-Stringify JSON-Objekte JSON-Arrays JSON-Server JSON-PHP JSON-HTML JSON JSONP

JS vs. jQuery

jQuery-Selektoren jQuery-HTML jQuery-CSS jQuery-DOM

JS-Grafik

JS-Grafik JS-Leinwand JS Plotly JS Chart.js JS Google-Diagramm JS D3.js

JS-Beispiele

JS-Beispiele JS-HTML-DOM JS-HTML-Eingabe JS-HTML-Objekte JS-HTML-Ereignisse JS-Browser JS-Editor JS-Übungen JS-Quiz JS-Zertifikat

JS-Referenzen

JavaScript-Objekte HTML-DOM-Objekte


JavaScript -Funktionsparameter


Ein JavaScript functionführt keine Überprüfung von Parameterwerten (Argumenten) durch.


Funktionsparameter und Argumente

Weiter oben in diesem Tutorial haben Sie gelernt, dass Funktionen Parameter haben können :

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

Funktionsparameter sind die in der Funktionsdefinition aufgeführten Namen .

Funktionsargumente sind die realen Werte , die an die Funktion übergeben (und von ihr empfangen) werden.


Parameterregeln

JavaScript-Funktionsdefinitionen geben keine Datentypen für Parameter an.

JavaScript-Funktionen führen keine Typprüfung für die übergebenen Argumente durch.

JavaScript-Funktionen überprüfen nicht die Anzahl der empfangenen Argumente.


Standardparameter

Wenn eine Funktion mit fehlenden Argumenten (weniger als deklariert) aufgerufen wird, werden die fehlenden Werte auf gesetzt undefined.

Manchmal ist dies akzeptabel, aber manchmal ist es besser, dem Parameter einen Standardwert zuzuweisen:

Beispiel

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

ECMAScript 2015 erlaubt Standardparameterwerte in der Funktionsdeklaration:

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


Das Arguments-Objekt

JavaScript-Funktionen haben ein eingebautes Objekt namens Arguments-Objekt.

Das Argumentobjekt enthält ein Array der Argumente, die verwendet wurden, als die Funktion aufgerufen (aufgerufen) wurde.

Auf diese Weise können Sie einfach eine Funktion verwenden, um (zum Beispiel) den höchsten Wert in einer Liste von Zahlen zu finden:

Beispiel

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

Oder erstellen Sie eine Funktion, um alle Eingabewerte zu summieren:

Beispiel

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

Wenn eine Funktion mit zu vielen Argumenten (mehr als deklariert) aufgerufen wird, können diese Argumente mit dem arguments-Objekt erreicht werden .


Argumente werden als Wert übergeben

Die Parameter in einem Funktionsaufruf sind die Argumente der Funktion.

JavaScript-Argumente werden als Wert übergeben : Die Funktion erfährt nur die Werte, nicht die Position des Arguments.

Wenn eine Funktion den Wert eines Arguments ändert, ändert sie nicht den ursprünglichen Wert des Parameters.

Änderungen an Argumenten sind außerhalb der Funktion nicht sichtbar (reflektiert).


Objekte werden per Referenz übergeben

In JavaScript sind Objektreferenzen Werte.

Aus diesem Grund verhalten sich Objekte so, als würden sie per Referenz übergeben:

Wenn eine Funktion eine Objekteigenschaft ändert, ändert sie den ursprünglichen Wert.

Änderungen an Objekteigenschaften sind außerhalb der Funktion sichtbar (reflektiert).