Wie funktioniert Funktionsüberladung in Javascript?

kirdie

Bekanntes Mitglied
Ich habe eine Funktion mit vielen Parametern und habe deshalb Abkürzungen definiert:

Java:
function insertImageChanger(name,urls,width,height,link)
{
 // code
}

// Abkürzungen
function insertImageChanger(name,urls) {insertImageChanger(name,urls,null,null,null);}
function insertImageChanger(name,urls,width,height) {insertImageChanger(name,urls,width,height,null);}
function insertImageChanger(name,urls,link) {insertImageChanger(name,urls,null,null,link);}

Merkwürdigerweise bekomme ich, wenn ich
Code:
insertImageChanger(name,urls,link)
aufrufe jedoch den Fehler, dass etwas mit der Breite nicht stimme, also scheint Javascript die falsche Funktion aufzurufen, nämlich
Code:
insertImageChanger(name,urls,width,height)
aber mit dem Link als Breite.

Was kann ich dagegen tun?
 
G

Gast2

Gast
Du kannst in Javascript keine Methoden überlagern.
Java nimmt für die Signatur einer Methode die Parameter her, Javascript tut das nicht.
 

schlingel

Gesperrter Benutzer
Die vorgeschlagene Lösung von Gregorrr finde ich um nichts hübscher bzw. hässlicher als in der Methode selbst zu prüfen ob der Parameter verwendet wurde:

Code:
function myMethod(arg1, arg2, arg3) {
  if(arg2 == undefined) { arg2 = null; }
  if(arg3 == undefined) { arg3 = null; }
  // ...
}

myMethod(123); // valider Aufruf
myMethod(123, 12); // valider Aufruf
myMethod(123, 123, 123); // valider Aufruf
 

Evil-Devil

Top Contributor
In Javascript brauchst du nichts überladen. Parameter die nicht übergeben wurden werden einfach als undefined von Javascript erzeugt.
Entweder nimmst du den Inline-Style von Gregor oder fragst die einzelnen Parameter direkt ab. Ideal wäre ein Mix aus beiden.
Hilfe hierbei bietet einem diverse JS Frameworks wie jQuery und Prototype.

Code:
function insertImageChanger (name, urls, options) {	
	options = options || {};	
	var defaultOptions = {
		width: options.width || 100,
		height: options.height || 100,
		link: options.link || 'www.java-forum.org'
	};
	options = defaultOptions;
	
	// [...]
}

Könnte ohne Framework wie im Beispiel aussehen.
 
T

Tomate_Salat

Gast
oder du arbeitest mit [c]arguments[/c]:
Code:
function someFunc() 
{ 
    if (arguments.length == 0 ){ 
       //code
    }
}

verwende ich auch in meinem aktuellen projekt, bei dem die Anzahl der Parameter seeeehr Variable ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Aleyna_ Einbinden von js (ts) und HTML-Datei funktioniert nicht Angular, React, JQuery - Fragen zu JavaScript 16
Lighty Math.pow funktioniert nicht innerhalb Funktion/Schleife Angular, React, JQuery - Fragen zu JavaScript 7
leix "setInterval" funktioniert nicht Angular, React, JQuery - Fragen zu JavaScript 2
P Lauftext als Java Script Mehrmals auf einer Seite abspielen funktioniert nicht Angular, React, JQuery - Fragen zu JavaScript 3
P Sweetallert funktioniert nicht im Formular Angular, React, JQuery - Fragen zu JavaScript 0
A onmouseover funktioniert nicht recht Angular, React, JQuery - Fragen zu JavaScript 9
S jQuery - Slider funktioniert nicht im Akkordeon Angular, React, JQuery - Fragen zu JavaScript 3
S Kleine JS-Funktion funktioniert im Firefox nicht wie sie sollte Angular, React, JQuery - Fragen zu JavaScript 9
F Script funktioniert im IE aber nicht im Firefox Angular, React, JQuery - Fragen zu JavaScript 3
B Script funktioniert nach Firefox Update nicht mehr?? Angular, React, JQuery - Fragen zu JavaScript 2
G Java installiert, funktioniert aber nicht? Angular, React, JQuery - Fragen zu JavaScript 2
K Chat funktioniert nur unter FF. Warum? Angular, React, JQuery - Fragen zu JavaScript 7
U Function funktioniert nur einmal Angular, React, JQuery - Fragen zu JavaScript 2
M Programm nutzt Java und funktioniert nicht mehr! Angular, React, JQuery - Fragen zu JavaScript 1
M habe java code aber etwas funktioniert nicht Angular, React, JQuery - Fragen zu JavaScript 2
E Wieso funktioniert dieses Script bei mir nicht Angular, React, JQuery - Fragen zu JavaScript 2
G Weiterleitung funktioniert nicht richtig Angular, React, JQuery - Fragen zu JavaScript 4
M Warum funktioniert der Code nur einmal im Frame? Angular, React, JQuery - Fragen zu JavaScript 2
B Bannerrotation funktioniert nicht, wer kann helfen? Angular, React, JQuery - Fragen zu JavaScript 6
C JS funktion funktioniert nicht / wird nicht aufgerufen. Angular, React, JQuery - Fragen zu JavaScript 2
M fetch - API - Probleme? JavaScript Angular, React, JQuery - Fragen zu JavaScript 3
M JavaScript - Fetch Probleme Angular, React, JQuery - Fragen zu JavaScript 0
M Fetch Probleme - JavaScript? Angular, React, JQuery - Fragen zu JavaScript 1
M JavaScript Hilfe dringend (v.2) Angular, React, JQuery - Fragen zu JavaScript 1
P Cypress Test mit javascript ergibt [object Undefined] Meldung Angular, React, JQuery - Fragen zu JavaScript 0
F Javascript Problem bei mehrere ID's Angular, React, JQuery - Fragen zu JavaScript 7
B JavaScript - Array mit Objekten anhand des Object-keys sortieren Angular, React, JQuery - Fragen zu JavaScript 2
I JavaScript: Array umgekehrt von vorn auffüllen Angular, React, JQuery - Fragen zu JavaScript 7
B Kommunikation zwischen Javascript und Java? Angular, React, JQuery - Fragen zu JavaScript 7
A Problem bei Sortierung von Rechnungsnummern mit JavaScript Angular, React, JQuery - Fragen zu JavaScript 1
B Besseres Arbeitsmanagement bei Javascript Programm? Angular, React, JQuery - Fragen zu JavaScript 19
I Fehler im JavaScript? Angular, React, JQuery - Fragen zu JavaScript 2
B Rich Text Editor With Javascript Angular, React, JQuery - Fragen zu JavaScript 1
B nodeJS JavaScript Object require Angular, React, JQuery - Fragen zu JavaScript 12
Aartiyadav Annotation in Javascript and Typescript Angular, React, JQuery - Fragen zu JavaScript 2
B Javascript Tutorial für DOM Manipulationen? Angular, React, JQuery - Fragen zu JavaScript 0
Q Mit JavaScript Daten aus einer Textdatei verarbeiten Angular, React, JQuery - Fragen zu JavaScript 2
H RegExp in Javascript String Angular, React, JQuery - Fragen zu JavaScript 1
B php Datei in JavaScript öffnen Angular, React, JQuery - Fragen zu JavaScript 9
M Einkaufswagen JavaScript Angular, React, JQuery - Fragen zu JavaScript 4
Zeppi Javascript JSON in ein Array Angular, React, JQuery - Fragen zu JavaScript 1
Cellsplitter Api auslesen und in Json Datei speichen - Javascript (node js) Angular, React, JQuery - Fragen zu JavaScript 10
B DOM Baum in JavaScript document.body.childNodes[1] Angular, React, JQuery - Fragen zu JavaScript 10
Noahscript [Frage]: Wie erstelle ich eine htmlspecialchars_decode mit JavaScript? Angular, React, JQuery - Fragen zu JavaScript 1
A Javascript validateInput Angular, React, JQuery - Fragen zu JavaScript 0
Zeppi Javascript URL als Link Angular, React, JQuery - Fragen zu JavaScript 2
T Javascript x-Axis fortlaufendes Datum eintragen Angular, React, JQuery - Fragen zu JavaScript 0
P Editor- mit javascript Sonderzeichen beim schreiben vorschlagen Angular, React, JQuery - Fragen zu JavaScript 0
Jose Merchan JavaScript and SEO Angular, React, JQuery - Fragen zu JavaScript 0
B JavaScript Button hinzufügen Angular, React, JQuery - Fragen zu JavaScript 2
A Ich habe eine frage zu JavaScript adblock detector? Wenn jemand auf OK Klick soll die Sete neu geladen werden Angular, React, JQuery - Fragen zu JavaScript 1
d.lumpi in javascript input erstellen Angular, React, JQuery - Fragen zu JavaScript 4
Martob282 Belegnummerierungsstempel mit JavaScript erstellen Angular, React, JQuery - Fragen zu JavaScript 34
N Javascript: mehrere Textfelder prüfen ob es sich um eine Zahl handelt und diese zwischen 1 und 49 liegt Angular, React, JQuery - Fragen zu JavaScript 10
S Javascript Canvas RadialGradient -> SVG Gradient Angular, React, JQuery - Fragen zu JavaScript 0
C JavaScript in Siri-Shortcuts zur Webseiten Bedienung Angular, React, JQuery - Fragen zu JavaScript 8
N TypeScript zu JavaScript Angular, React, JQuery - Fragen zu JavaScript 1
M Taste mit Javascript simulieren Angular, React, JQuery - Fragen zu JavaScript 6
B Rauch per Javascript auf Bild packen? Angular, React, JQuery - Fragen zu JavaScript 4
X Ohm Rechner in JavaScript aber was bedeutet Power? Angular, React, JQuery - Fragen zu JavaScript 103
ruutaiokwu JavaScript in Angular 8-Anwendung verwenden Angular, React, JQuery - Fragen zu JavaScript 11
T Ich möchte einen Button mit JavaScript ausblenden Angular, React, JQuery - Fragen zu JavaScript 5
J Html Button mit JavaScript ausführen Angular, React, JQuery - Fragen zu JavaScript 5
L [JavaScript] Mehrere Variablen für Live-Suche in MySql-DB Angular, React, JQuery - Fragen zu JavaScript 0
D Java Tool um HTML und Javascript zu analysieren Angular, React, JQuery - Fragen zu JavaScript 3
P Hashes in JavaScript Angular, React, JQuery - Fragen zu JavaScript 7
P Zahlen in JavaScript Angular, React, JQuery - Fragen zu JavaScript 3
M Spalte verlinken mit JavaScript Angular, React, JQuery - Fragen zu JavaScript 9
P Angular vor JavaScript lernen? Angular, React, JQuery - Fragen zu JavaScript 1
S Unterstützung in Javascript Angular, React, JQuery - Fragen zu JavaScript 2
W Javascript + couchDB Angular, React, JQuery - Fragen zu JavaScript 2
T Grafische und tabellarische Datendarstellung mit JavaScript Angular, React, JQuery - Fragen zu JavaScript 2
E Javascript wenn Variable aktualisiert wird, dann prüfe Angular, React, JQuery - Fragen zu JavaScript 0
D Javascript um eine Seite in einem PDF Formular ein-/Ausblenden zu lassen Angular, React, JQuery - Fragen zu JavaScript 3
ARadauer JavaScript und replace... Angular, React, JQuery - Fragen zu JavaScript 1
P Richtiges Auslesen von mehreren Daten im JSON Format via JavaScript Angular, React, JQuery - Fragen zu JavaScript 2
n00b4u JavaScript Daten lokal Speichern Angular, React, JQuery - Fragen zu JavaScript 7
C per Javascript auf S4 nach Sensordaten fragen? Angular, React, JQuery - Fragen zu JavaScript 2
B Fehler im JavaScript Angular, React, JQuery - Fragen zu JavaScript 3
C In Wordpress unter Custom-Js mit Javascript den ursprünglichen Code deaktivieren Angular, React, JQuery - Fragen zu JavaScript 0
K Javascript "Bild mit Pfeiltasten automatisch bewegen" HILFE Angular, React, JQuery - Fragen zu JavaScript 0
M Javascript Höhe Angular, React, JQuery - Fragen zu JavaScript 2
N Problem - Google Analytics Tracking Javascript Datei von eigenen Server laden Angular, React, JQuery - Fragen zu JavaScript 1
C Javascript Image.getRGB(x,y) Angular, React, JQuery - Fragen zu JavaScript 1
K Proxy PAC File Javascript Angular, React, JQuery - Fragen zu JavaScript 2
F Von JavaScript "Spaghetticode" zu Backbone.js Angular, React, JQuery - Fragen zu JavaScript 0
H Javascript für wordpress "open new window" Angular, React, JQuery - Fragen zu JavaScript 1
F JavaScript replace funktion Angular, React, JQuery - Fragen zu JavaScript 1
T JavaScript Variable in Klasse ändern Angular, React, JQuery - Fragen zu JavaScript 2
N JavaScript für Touch Devices bei DropDown Menü Angular, React, JQuery - Fragen zu JavaScript 4
T Javascript - Polygon, wieviel % sind gefüllt Angular, React, JQuery - Fragen zu JavaScript 1
K JavaScript Banner Syntax Error Angular, React, JQuery - Fragen zu JavaScript 4
D JavaScript jTable Angular, React, JQuery - Fragen zu JavaScript 2
Fab1 [SUCHE] JavaScript Buch für Umsteiger Angular, React, JQuery - Fragen zu JavaScript 4
T html code per javascript einfügen Angular, React, JQuery - Fragen zu JavaScript 7
nrg RegExp Split \r\n in Javascript Angular, React, JQuery - Fragen zu JavaScript 5
J JavaScript und "import"? Angular, React, JQuery - Fragen zu JavaScript 10
B [Javascript] bytearray to file Angular, React, JQuery - Fragen zu JavaScript 2
L Javascript Maus Funktion Angular, React, JQuery - Fragen zu JavaScript 4
K JavaScript Kontaktformulare Angular, React, JQuery - Fragen zu JavaScript 2

Ähnliche Java Themen

Neue Themen


Oben